例如,如果我創建以下數據庫表的佈局:創建一個與數據intregrety一對多的關係
CREATE TABLE IF NOT EXISTS Users_parent (
ID int(255) NOT NULL AUTO_INCREMENT,
Username text NOT NULL,
Password text NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS Users_Child (
ID int(255) NOT NULL AUTO_INCREMENT,
Firstname varchar(255) NOT NULL,
SecondName varchar(255) NOT NULL,
UserID int(255) NOT NULL,
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS Users_OtherChild (
ID int(255) NOT NULL AUTO_INCREMENT,
Warnings text NOT NULL,
UserID text NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
從閱讀,UserID
將是外鍵建立一個一對多的關係與所有的其他相關表中的相關表。
我明白這是在MySQL數據庫內的存儲過程中運行的,但是如何刪除父表中的行刪除,直到刪除所有子表,這樣就不會有與父級關聯的子級信息?
您是否正在尋找父表中刪除,使級聯的子表中刪除?或者你是否想要停止刪除父母? (這個實現在很大程度上取決於這個答案) –
@Declan_K防止刪除父行,直到所有的子表都沒有任何關聯的數據 –
對不起,這並不回答問題(可能是因爲我沒有不會問得很好)。當您說「直到所有子表都清除了任何關聯數據」時,您是否希望刪除相關日期以便在後臺自動發生,或者您是否希望提醒用戶存在關聯日期並停止父級刪除? –