AUTO_INCREMENT分两个地方

Isu*_*nka 1 php mysql sql auto-increment

我遇到了以下sql语句,你可以看到AUTO_INCREMENT位于两个不同的地方.你能解释一下不同吗,我知道第一个是自动递增id.但第二个意味着什么呢?

CREATE TABLE `categories`(
    `id` int(11) NOT NULL AUTO_INCREMENT,
     `name` varchar(100) NOT NULL,
     `image_path` varchar(200) NOT NULL,
      PRIMARY KEY(`id`)
) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)

第二个声明.

CREATE TABLE `categories`(
     `id` int(11) NOT NULL AUTO_INCREMENT,
     `name` varchar(100) NOT NULL,
     `image_path` varchar(200) NOT NULL,
     PRIMARY KEY(`id`)
) ENGINE = InnoDB  DEFAULT CHARSET = latin1 AUTO_INCREMENT=4 ;
Run Code Online (Sandbox Code Playgroud)

我引用了http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html.但我找不到任何东西.

Jas*_*son 8

所述AUTO_INCREMENT在第二语句设置到在id在4中使用的第一数量.

`id` int(11) NOT NULL AUTO_INCREMENT
Run Code Online (Sandbox Code Playgroud)

设置列名称并告诉DB在添加新行时自动增加数字.

) ENGINE = InnoDB  DEFAULT CHARSET = latin1 AUTO_INCREMENT=4 ;
Run Code Online (Sandbox Code Playgroud)

设置用于表的引擎,字符集,它应该从4开始编号,而不是1.

CREATE TABLE 更详细地解释了这一点.

  • 自动递增

表的初始AUTO_INCREMENT值.在MySQL 5.0中,这适用于MyISAM和MEMORY表.从MySQL 5.0.3开始,它也支持InnoDB.