的情況是這樣的
我有客戶表如何選擇外鍵的選項更好的數據庫
id_cus ---> PK name address phone
我有事務表
no_trans ---> PK id_cus ---> FK datetime payment
所以其ON刪除外鍵的選項最好的解決辦法爲交易表?
的情況是這樣的
我有客戶表如何選擇外鍵的選項更好的數據庫
id_cus ---> PK name address phone
我有事務表
no_trans ---> PK id_cus ---> FK datetime payment
所以其ON刪除外鍵的選項最好的解決辦法爲交易表?
ON DELETE沒有這樣的最佳選擇。這取決於你需要什麼。這是你的選擇:
CASCADE:刪除從父表中的行,並自動刪除或更新子表中匹配的行。
SET NULL:從父表中刪除行,並將子表中的外鍵列設置爲NULL。如果你指定一個SET NULL動作,確保你沒有將子表中的列聲明爲NOT NULL。
限制:拒絕父表的刪除操作。 RESTRICT與省略ON DELETE子句相同。
有關默認操作刪除始終是「限制」。
(https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html)
希望這有助於!
如果我使用transact表格報告?..更好,我使用限制? –
@KhabibbMubarakk對於一個報告,我確實使用限制,所以即使cild被刪除,你仍然有報告與有效的信息。 –
正確的方法.... –
沒有標準的最佳解決方案。這取決於你需要什麼,你在做什麼以及你的數據庫的設計。 – nacho
oke asumtion,我需要表格交易報告..我認爲仍然需要di_cus .. –