我有两个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
做什么?
答案 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;