-- 演示自增长的使用
-- 创建表
CREATE TABLE t24
(id INT PRIMARY KEY AUTO_INCREMENT, -- 该语句指定自增长字段
email VARCHAR(32) NOT NULL DEFAULT '',
`name` VARCHAR(32) NOT NULL DEFAULT '');
DESC t24
-- 那么如何在插入数据,使自增长字段自增长?
-- 1.
INSERT INTO t24
VALUES(NULL,'jack@qq.com','jack');
-- 2.
INSERT INTO t24
(email,`name`) VALUES ('yuan@sohu.com','yuan')-- 没有指定的id变2
-- 如果对应字段不是自增长,这样赋值不全的语句会报错
-- 如果是自增长我们就不能赋值喽,你要么写不写参数列表,自增长字段赋NULL
-- 要么就上面那样写
-- 或者你想改初值可以用
SELECT * FROM t24-- 可以看见我们本应该是NULL的变成了1
# 细节
# 1.一般自增长和主键配合使用
# 2.自增长也可以单独使用,不过要配合一个unique
# 3.自增长的修饰符的字段为整形的(小数也可以,不过很少用)
# 4.自增长默认从1(你在自增长字段填NULL的话)开始,你可以通过
ALTER TABLE t24 AUTO_INCREMENT = 10 -- 使对应自增长字段从10开始
INSERT INTO t24(email,`name`) VALUES ('6','666')
# 还可以通过刚开始指定值来改变
INSERT INTO t24
VALUES (666,'1','123')
INSERT INTO t24
VALUES (NULL,'2','234')-- 如果第一个参数还写null,会随着自增长+1
# 而不是再从1开始,可以指定1再从1开始
# 这样的话,如果想从1开始一直+1,就把自增长字段一直赋NULL即可!!!!!
仔细看代码
重点
1.AUTO_INCREMENT 一般修饰整形,默认从1开始(写NULL的话),也可以自己赋值数据从对应数据开始
2.每次自增长1
3.可以修改初始值(是下一次增长时候的值,不会修改已经添加的)ALTER TABLE 表名 AUTO_INCREMENT = 值
4.一个表只能有一个自增长字段
5.自增长一般和主键混合用,单独用需要用在有unique的字段上
6.!!!给自增长字段赋值NULL会接着上面的数据增长下去,不会重新从1开始,可以一直写INSERT INTO 表 VALUES (NULL,…)这样就是从1开始一直往后增长了,或者从指定值开始增长(第3条)!!!