我有一个简单的
INSERT INTO t1 (fields...) (SELECT fields... FROM t2);
它插入了大约 8.000 行,并且表的自动增量值设置为 ~16.000,但并不完全是 2 倍。我没有在查询中包含自动递增的 id,并且表被截断。它可能是一个错误吗?我有版本 5.5.24。为什么会这样,我怎样才能避免这种情况?
CREATE TABLE `order` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`` int(4) NOT NULL COMMENT '',
`` int(6) NOT NULL COMMENT '',
`` varchar(255) NOT NULL COMMENT '',
`` varchar(255) NOT NULL COMMENT '',
`` bigint(10) unsigned NOT NULL COMMENT '',
`` int(5) unsigned NOT NULL COMMENT '',
`` int(5) unsigned NOT NULL COMMENT '',
`` int(8) unsigned NOT NULL COMMENT '',
`` varchar(255) DEFAULT NULL COMMENT '',
`` int(3) DEFAULT NULL COMMENT '',
`` int(3) DEFAULT NULL COMMENT '',
`` date NOT NULL COMMENT '',
`` date DEFAULT NULL,
`` date DEFAULT NULL COMMENT '',
`` int(5) DEFAULT NULL COMMENT '',
`` varchar(2) DEFAULT NULL COMMENT '',
`` int(5) DEFAULT NULL COMMENT '',
`` varchar(255) DEFAULT NULL,
`` varchar(255) DEFAULT NULL,
`` char(1) DEFAULT NULL,
`` datetime DEFAULT NULL,
`` int(10) unsigned DEFAULT NULL,
`` datetime DEFAULT NULL,
`` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `` (``),
KEY `` (``),
KEY `` (``),
CONSTRAINT `` FOREIGN KEY (``) REFERENCES `users` (`id`),
CONSTRAINT `` FOREIGN KEY (``) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8440 DEFAULT CHARSET=utf8
谢谢。