我遇到了以下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。但我找不到任何东西。
答案 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。