MySQL的auto_increment自增和oracle等数据库中的sequence是一个道理。而且很多应用场景下都需要使用到唯一编号,而且这个编号需要按照我们的指定的规则自动递增,没有重复。接下来小编给大家介绍MySQL的auto_increment的基本特性和使用注意点。
工具/原料
MySQL
Xshell
方法/步骤
1、打开Xshell,连接服务器并登陆到服务器,输入连接到MySQL
2、创建测试表,并指定字段为auto_increment,如下图所示createtabletest( idintnotnullauto_incrementprimarykey, namevarchar(10));
3、MySQL的auto_increment的基本特性;1.te衡痕贤伎st表的自动增长列可以insert手工插入,但如果插入的值是空或者是0,则实醪撅此饕际插入的将会是自动增长之后的值,请看下图insertintotestvalues(0,'zhanghui');insertintotestvalues(null,'liubei');select*fromtest;
4、2.可以使用并通过altertabletestauto_incremenrt=n语句来强制设置自动增长列的初始值。例如使用如下语句强制设置自增长初始值altertabletestauto_incremenrt=4;insertintotestvalues(null,'guanyu');
5、3.我们使用last_insert_id()查询当前线程下的最后插入记录所使用的值。selectlast_insert_id();
6、4.一个表嘀芟苒疾有且只能有一个auto_increment属性,自增长列必须是索引5.如果表中的auto_increment最大值被删除,不会被重用。即会巳鹞届蟑跳号mysql>select*fromtest;+----+------------+|id|name|+----+------------+|1|zhanghui||2|liubei||3|guanyu||5|shjhsdshjd|+----+------------+4rowsinset(0.00sec)mysql>deletefromtestwhereid=5;QueryOK,1rowaffected(0.01sec)mysql>mysql>insertintotestvalues(null,'machao');QueryOK,1rowaffected(0.01sec)mysql>select*fromtest;+----+----------+|id|name|+----+----------+|1|zhanghui||2|liubei||3|guanyu||6|machao|+----+----------+4rowsinset(0.00sec)