AUTO_INCREMENT分两个地方

时间:2012-12-30 20:54:28

标签: 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;

第二声明。

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 ;

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

1 个答案:

答案 0 :(得分:8)

第二个语句中的AUTO_INCREMENT设置id为4时使用的第一个数字。

`id` int(11) NOT NULL AUTO_INCREMENT

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

) ENGINE = InnoDB  DEFAULT CHARSET = latin1 AUTO_INCREMENT=4 ;

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

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

  
      
  • AUTO_INCREMENT
  •   
     

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