我無法從數據庫對象中刪除一行。在我的情況下,db對象正在自我編制索引。
字段root_id與key_id(主鍵)具有外鍵關係。參照完整性設計爲ON UPDATE NO ACTION AND ON DELETE NO ACTION
。即使我仍然無法刪除。無法從自我索引的數據庫對象中刪除記錄
CONSTRAINT `fk_MyTab` FOREIGN KEY (`root_id`) REFERENCES `MyTab` (`key_id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
我必須刪除此表中的記錄WHERE key_id = root_id
。
當我嘗試刪除時,我收到以下內容。
錯誤代碼:1451。無法刪除或更新父行,外鍵約束失敗(`MyTab`,約束`fk_MyTab`外鍵(`root_id`)參考`MyTab`(`key_id`)ON刪除沒有行動更新沒有行動)
指向我的方向是正確的。
Hai @Asad,需要澄清一下。這是MySQL中的bug還是所有數據庫服務器都是常見的? – vissu
@vissu這不是一個bug,它是一個錯誤功能;所有數據庫服務器都有類似的功能,如果要防止任何有子行被刪除的行,請使用'NO ACTION'。 –