导入 mysql 时无法创建 table(错误号:121) workbench 仅在 Linux 上导出转储

Can't create table (errno:121) when importing mysql workbench export dump only on Linux

我通过在 Windows 机器上使用 MySQL Workbench 导出我的 tables 创建了一个 .sql 转储文件。如果我尝试在 Windows 上再次导入该文件,一切正常。如果我尝试使用 mysql -u user -p TABLE < dumpfile.sql 导入该文件,我会收到 Can't create table (errno:121) 错误。

最初的 table 是由 Hibernate 创建的。导致问题的 table 是这种多对多关系:

CREATE TABLE USER_ITEM (
  USERID int(11) NOT NULL,
  ITEMID int(11) NOT NULL,
  PRIMARY KEY (USERID,ITEMID),
  KEY FK_7ykraq12rrlicwxhjfs13re56 (ITEMID),
  CONSTRAINT FK_7ykraq12rrlicwxhjfs13re56 FOREIGN KEY (ITEMID) REFERENCES item (ID),
  CONSTRAINT FK_c8pcrsn7fey94ipgiy12g3d4e FOREIGN KEY (USERID) REFERENCES user (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Hibernate 和 Workbench 似乎在 ITEMID 上创建了一个索引,它与我的第一个约束具有相同的外键。为什么?为什么只在使用 MySQL workbench 在 Linux 上导入转储文件而不是在 Windows 上导入转储文件时才导致这个问题?我可以重命名第一个约束的外键吗?

看来我的数据库有问题。重新创建它解决了这个问题。