6

这是 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 ;
4

2 回答 2

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 与用户 ID 1。

于 2012-08-13T22:03:27.507 回答
1

显然它用于设置起始自动递增数:

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

于 2012-08-13T22:02:11.433 回答