MySQL MySQL中的自增从1开始?如何从另一个数字开始?


<!–

–>

MySQL MySQL中的自增从1开始?如何从另一个数字开始?

在MySQL数据库中,如果你定义一个自增(column)列作为表格的主键或其他(唯一)标识符,它就会自动对每条插入的记录进行递增操作。默认情况下,MySQL的自增从1开始,直到达到INT类型(四个字节整数)的最大值 2147483647(如果是BIGINT类型,则达到9223372036854775807)。但是,如果你想从另一个数字开始自增呢?这篇文章将会解释如何做到。

阅读更多:

如何从另一个数字开始自增

如果您需要从另一个数字开始自增,你可以使用AUTO_INCREMENT关键字指定自增开始的值。例如,如果你希望你的表从100开始自增,你可以通过以下语句完成:

(adsbygoogle = window.adsbygoogle || []).push({});

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关键字来指定自增开始的值。另外,还需要注意自增的行为,以便在实际使用中避免出错。