假設我的數據庫中有5個MyISAM表。每個表都有一個鍵,我們稱它爲「id_num」...在MyISAM中刪除之前,我應該檢查表中是否存在行嗎?
「id_num」是我用來將所有表連接在一起的字段。 「id_num」的某個值可能出現在所有表格中,或者有時只出現在表格的一個子集中。
如果我想刪除數據庫中某個「id_num」的所有實例,我可以對所有表執行DELETE命令,還是應該檢查「id_num」的值是否存在?
DELETE * FROM table1 WHERE id_num = 123;
DELETE * FROM table2 WHERE id_num = 123;
DELETE * FROM table3 WHERE id_num = 123;
DELETE * FROM table4 WHERE id_num = 123;
DELETE * FROM table5 WHERE id_num = 123;
或者我應該先在每個表上執行一個SELECT命令來檢查這些行在刪除之前是否存在於表中?什麼是最佳做法?在其他有一個表id_num
的PK,讓id_num
一個FK -
(我在這裏使用的MyISAM所以級聯刪除是不是一種選擇。)
使用forgein密鑰並級聯刪除 – sandeepKumar 2013-02-15 06:10:39