我正在尝试设置一个脚本以在我的数据库中生成一组特定的测试数据,在开始时我想清除相关表而不删除约束(因为测试数据不是重建约束的合适位置)并为每个表重置 AUTO_INCREMENT,因为如果我可以对许多 ID 进行硬编码,设置测试数据会简单得多。
例如,我有两个这样的语句(几乎每个表都有一对):
DELETE FROM AppointmentAttr
ALTER TABLE AppointmentAttr AUTO_INCREMENT = 1
并且当记录被删除时,自动增量值不会恢复为 1,即使我能找到的所有文档和 SO 答案都表明这应该有效。
如果我在 MySQL Workbench 中执行相同的语句,它也不会还原它。
这是在一个 INNODB 数据库上。
我错过了什么?
(注意:由于存在约束,我不能使用 TRUNCATE)。