簡體   English   中英

僅在Linux上導入mysql工作台導出轉儲時無法創建表(errno:121)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM