什么" AUTO_INCREMENT = 416"在CREATE TABLE语句中是什么意思?

时间:2015-05-19 02:20:27

标签: mysql

我有两个MySQL数据库,我检查差异,然后在必要时进行更改以使它们相同。
当我针对这两个表运行mysqldiff时,它表明有一个

ENGINE = MyISAM AUTO_INCREMENT = 416 DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci

而另一方则没有

~$ mysqldiff --force --server1=root@localhost prod_si.si_payment:dev_si_brand_new.si_payment
# server1 on localhost: ... connected.
# Comparing prod_si.si_payment to dev_si_brand_new.si_payment      [FAIL]
# Object definitions differ. (--changes-for=server1)
#

--- prod_si.si_payment
+++ dev_si_brand_new.si_payment
@@ -9,4 +9,4 @@
   `online_payment_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   PRIMARY KEY (`domain_id`,`id`),
   KEY `domain_id` (`domain_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=416 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

我查看了表中输入的值,但看不到任何明显的差异,即具有auto_increment指定的主键每行自动增加1。 Increment amount似乎是一个不同的指令 我看过mysql auto_increment documentation并且找不到任何内容。

AUTO_INCREMENT=416做什么?

2 个答案:

答案 0 :(得分:1)

来自您链接的文档:

To start with an AUTO_INCREMENT value other than 1, set that value with CREATE TABLE or ALTER TABLE, like this:

mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;

如果您有一个自动递增列,它只会影响插入表中的新行。

答案 1 :(得分:1)

这是一个表格选项。它设置自动增量列的初始值。

找到文档有点棘手,但here是:

  

要以除1以外的AUTO_INCREMENT值开始,请设置该值   使用CREATE TABLE或ALTER TABLE,如下所示:

     

的MySQL> ALTER TABLE tbl AUTO_INCREMENT = 100;