在MySQL模式中,“AUTO_INCREMENT = 3”的含义是什么

时间:2012-08-13 21:58:39

标签: mysql sql

这是MySQL表创建的模式。最后一行AUTO_INCREMENT=3的含义是什么?

CREATE TABLE IF NOT EXISTS `test_b` (
  `ID_b` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `stuff` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`ID_b`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

2 个答案:

答案 0 :(得分:6)

将初始AUTO_INCREMENT值设置为3.因此,对于第一个插入的记录,默认情况下不是从1开始,而是从3开始。

来自CREATE TABLE Syntax上的手册:

  
    

表格的初始AUTO_INCREMENT值     对于支持CREATE TABLE语句中的AUTO_INCREMENT表选项的引擎,还可以使用ALTER TABLE tbl_name AUTO_INCREMENT = N来重置AUTO_INCREMENT值。该值不能设置为低于列中当前的最大值。

  

我听说过人们从一开始就把这个值设置得很大,以至于看起来他们的内容比开始时的内容更多。例如。用户ID 15,000 vs用户ID 1.

答案 1 :(得分:1)

显然,它用于设置起始自动增量数字:

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html