mysql怎么实现自动增加

文 / @WordPress主题

文章内容:

MySQL作为一种关系型数据库,是很多开发者在开发过程中经常使用的工具。在使用MySQL的过程中,经常会遇到需要自动增加的情况。

自动增长的作用和实现方法

问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败。如何解决:为主键生成自动增长的值。

自动增长的语法:字段名 数据类型 AUTO_INCREMENT;

需要注意的是:

1.一个表中只能有一个自动增长字段;

2.该字段的数据类型是整数类型;

3.必须定义为键,如UNIQUE KEY、PRIMARY KEY;

4.若为自动增长字段插入NULL、0、DEFAULT或在插入时省略该字段,该字段就会使用自动增长值;

5.若插入的是一个具体值,则不会使用自动增长值;

6.自动增长值从1开始自增,每次加1;

7.若插入的值大于自动增长的值,则下次插入的自动增长值会自动使用最大值加1;

8.若插入的值小于自动增长值,则不会对自动增长值产生影响;

9.使用DELETE删除记录时,自动增长值不会减小或填补空缺。

使用示例:

--自动增长使用演示
CREATE TABLE my_auto (
id Int Unsigned Primary Key Auto_Increment,
username Varchar (20)
);
#查看
DESC my_auto;

#插入时省略id字段,将会使用自动增长值
INSERT INTO my_auto (username) VALUES ('a');

#为id字段插入null,将会使用自动增长值
INSERT INTO my_auto VALUES (Null, 'b');

#为id字段插入具体值6
INSERT INTO my_auto VALUES (6, 'c');

#为id字段插入0,使用自动增长值
INSERT INTO my_auto VALUES (0, 'd');

#查看
SELECT * FROM my_auto;

#查看自动增长值
SHOW CREATE TABLE my_auto;

为现有的表修改或删除自动增长:

#修改自动增长值
ALTER TABLE my_auto AUTO_INCREMENT=10;

#删除自动增长值
ALTER TABLE my_auto MODIFY id Int Unsigned;

#重新为id添加自动增长值
ALTER TABLE my_auto MODIFY id Int Unsigned Auto_Increment;

需要注意的是:

1.自动增长删除并重新添加后,自动增长的初始值会自动设为该列现有的最大值加1;

2.在修改自动增长值时,修改的值若小于该列现有的最大值,则修改不会生效。

总结:

本篇文章主要介绍了MySQL如何实现自动增加的方法。需要注意的是,在使用时需要按照语法要求进行操作,否则可能会出现异常情况。希望通过本文的介绍,能够帮助开发者更好地使用MySQL。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。