2012-08-09 77 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將在每次插入/刪除操作後更新。