2012-08-09 75 views
2

我在自动递增的表中有一列。我们称之为employee_id了解MySql Auto_Increment

设初始值为1,并为每次插入增加1。 插入10行后,自动递增值变为10(employee_id为10)。

现在,如果我手动插入第11行的员工ID为15,然后允许MySql的AUTO_INCREMENT接管,下一个自动递增值是11还是16?

+0

Offtopic:1.始终在变量(列/表)名称中使用一致的大小写,2.不要在列名中使用空格。 – Nishant 2012-08-09 15:11:29

回答

3

这将是16,bcs MySQL将在每次插入/更新操作后更新AUTO_INCREMENT计数器的值。这是两个最流行的台引擎,MyISAM和InnoDB:

+0

我不同意,请首先阅读:自动递增计数器初始化后,如果您没有明确指定AUTO_INCREMENT列的值,InnoDB会递增计数器并将新值分配给列。如果插入明确指定列值的行,并且该值大于当前计数器值,则将计数器设置为指定的列值。 – tijs 2012-08-09 15:20:19

+0

是的,这是从这里:http://dev.mysql.com/doc/refman/5.5/en/innodb-auto-increment-handling.html – tijs 2012-08-09 15:24:02

0

我想它在本地主机上,并手动插入15行后(employee_id=10, name=John),它是由回事得到max auto_increment id

表的存储引擎是:MyISAM。

0

下一个Auto_increament值将是16.由于Auto_increament将在每次插入/删除操作后更新。