我越來越而分配外鍵現有的表列如下錯誤:ERROR 1452(23000):不能添加或更新子行,外鍵約束失敗對於現有的表
ERROR 1452(23000) :不能添加或更新子行,外鍵約束失敗
下面是我的查詢(c_x_parsing
#sql-787_1
,約束#sql-787_1_ibfk_1
外鍵(nct_id
)參考文獻cdb
(nct_id
)。):
ALTER TABLE c_int ADD FOREIGN KEY (n_id) REFERENCES cdb (n_id);
雖然我的父表是cdb cdb,子表是c_int。
請給我建議解決方案,因爲我已經與下面的命令嘗試:
ALTER TABLE cdb ENGINE=InnoDB;
ALTER TABLE c_int ENGINE=InnoDB;
你說得對。父表中缺少一些id,它們出現在子表中。有沒有什麼辦法可以通過忽略子表中存在的id而不是父表中的id來做同樣的事情?或者我需要重新填充表嗎? – user2818537
你的建議意味着你的外鍵無效。你可以考慮的是爲'未知'或其他不重要的條目創建一個unqiue ID,然後更新子表以確保所有其他條目都指向新的ID。 – SchmitzIT
我的確有同樣的。作爲我的魅力。 –