[英]Can't create table (errno:121) when importing mysql workbench export dump only on Linux
我通過在Windows計算機上使用MySQL Workbench導出表來創建.sql轉儲文件。 如果我嘗試在Windows上再次導入該文件,一切正常。 如果嘗試使用mysql -u user -p TABLE < dumpfile.sql
導入該文件, mysql -u user -p TABLE < dumpfile.sql
收到Can't create table (errno:121)
錯誤。
原始表是由Hibernate創建的。 導致問題的表是這種多對多關系:
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上創建了一個索引,該索引具有與我的第一個約束相同的外鍵。 為什么? 為什么在Linux上而不是在Windows上使用MySQL Workbench導入我的轉儲文件時僅導致此問題? 我可以重命名第一個約束的外鍵嗎?
看來我的數據庫有問題。 重新創建它可以解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.