MySQL MySQL中的自增从1开始?如何从另一个数字开始?
在MySQL数据库中,如果你定义一个自增(column)列作为表格的主键或其他(唯一)标识符,它就会自动对每条插入的记录进行递增操作。默认情况下,MySQL的自增从1开始,直到达到INT类型(四个字节整数)的最大值 2147483647(如果是BIGINT类型,则达到9223372036854775807)。但是,如果你想从另一个数字开始自增呢?这篇文章将会解释如何做到。
阅读更多:MySQL 教程
如何从另一个数字开始自增
如果您需要从另一个数字开始自增,你可以使用AUTO_INCREMENT
关键字指定自增开始的值。例如,如果你希望你的表从100开始自增,你可以通过以下语句完成:
CREATE TABLE mytable (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL
) AUTO_INCREMENT=100;
这里的AUTO_INCREMENT=100
语句就是告诉MySQL从100开始自增。
另外,如果你想在已有的表上更改自增开始的值,你也可以使用ALTER TABLE
命令。例如,下面的语句将表mytable
的自增开始值更改为100:
ALTER TABLE mytable AUTO_INCREMENT=100;
如果你想让MySql按照原来的顺序,继续自增,你也可以将自增开始的值设为当前自增最大值加上1:
ALTER TABLE mytable AUTO_INCREMENT=SELECT MAX(id)+1 FROM mytable;
自增的行为
MySQL的自增的行为是有一些需要注意的地方。你需要知道的有:
- 删除之后的行,自增值不会回滚。
- 所有的插入只影响自增列的值,而不影响其他列。
- 如果将自增列更新为另一个值,自增行为将不受影响。下一次插入将在下一个空列上继续递增。
- 在多线程环境下,自增的行为是受锁保护的。这意味着如果一个插入正在进行中,另一个插入必须等待直到第一个插入完成。
结论
MySQL中的自增是一个非常有用的特性,它可以用来唯一标识记录。如果您需要从数字开始自增,您可以使用AUTO_INCREMENT
关键字来指定自增开始的值。另外,还需要注意自增的行为,以便在实际使用中避免出错。