我正在尝试为回归测试还原数据库,但是没有正确重置自动增量值。
我可以在运行mysqlimport之前截短所有表,但这要慢得多。
为了证明我的观点。。。
使用MySQL5.6.39:
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE `mytable` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`text` VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
INSERT INTO mytable (text) values ("one");
INSERT INTO mytable (text) values ("two");
此时,表格应如下所示:
|---------------------|------------------|
| id | text |
|---------------------|------------------|
| 1 | one |
|---------------------|------------------|
| 2 | two |
|---------------------|------------------|
创建一个名为 mytable.txt
使用:
1, garbagetext
在与相同的文件夹中打开cmd.exe mytable.txt
:
mysqlimport --host=%myhost% --user=%myuser% --password=%mypassword% --delete --fields-terminated-by=, --lines-terminated-by="\r\n" --local %mydatabase% mytable.txt
然后输入数据库:
INSERT INTO mytable (text) values ("ID should be 2");
生成的表将是:
|---------------------|------------------|
| id | text |
|---------------------|------------------|
| 1 | garbagetext |
|---------------------|------------------|
| 3 | ID should be 2 |
|---------------------|------------------|
1条答案
按热度按时间7hiiyaii1#
你可以用
alter table mytable auto\u increment=值