-- 自增长列 AUTO_INCREMENT
CREATE DATABASE dbtest;
use dbtest;
SELECT DATABASE();
-- 在 CREATE TABLE 时添加
CREATE TABLE test1(
id int PRIMARY KEY AUTO_INCREMENT,
last_name VARCHAR(15)
);
DESC test1;
INSERT INTO test1
(last_name )
VALUES('Sam');
SELECT * FROM test1;
-- 结论:当我们向主键(含有增长列)的字段上添加0或 NULL时,实际上会自动往上添加指定的字段的数据
INSERT INTO test1
(id,last_name )
VALUES(0,'Sam');
INSERT INTO test1
(id,last_name )
VALUES(NULL,'LiLi');
INSERT INTO test1
(id,last_name )
VALUES(30,'meiyangyang');
-- 开发中,一旦主键作用的字段上声明有(增长列),则我们在添加数据时,就不要给主键对应的字段去赋值(会打乱顺序)
INSERT INTO test1
(id,last_name )
VALUES(-30,'meiyangyang');
-- 在 ALTER TABLE 时添加(很少)
CREATE TABLE test2(
id int PRIMARY KEY,
last_name VARCHAR(10)
);
DESC test2;
ALTER TABLE test2
MODIFY id INT AUTO_INCREMENT;
CREATE TABLE test4(
id int PRIMARY KEY,
last_name VARCHAR(10)
);
ALTER TABLE test4
MODIFY id INT AUTO_INCREMENT;
DESC test4