1

我遇到了以下 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。但我什么也找不到。

4

1 回答 1

8

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

`id` int(11) NOT NULL AUTO_INCREMENT

设置列名并告诉数据库在添加新行时自动增加数字。

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

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

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

  • 自动递增

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

于 2012-12-30T20:57:50.043 回答