例如廢掉列的值,我有這些表和數據:刪除的行
TABLE: logo_user
+----+---------+
| id | logo_id |
+----+---------+
| 1 | 1 |
| 2 | 2 |
+----+---------+
TABLE: logo
+----+
| id |
+----+
| 1 |
| 2 |
+----+
我要的是在logo
表中刪除所有的行,並取消其指的是它的值。例如:
TABLE: logo_user
+----+---------+
| id | logo_id |
+----+---------+
| 1 | NULL |
| 2 | NULL |
+----+---------+
TABLE: logo (now emptied)
- 我嘗試使用
TRUNCATE ... CASCADE
但在logo_user
表也被刪除每行。 - 我也考慮改變
logo_user
級聯在刪除上的外鍵約束,但這樣做太多了。實際上,我有很多表格指的是logo
表格。
在'on delete set null'上使用FK是唯一的「自動」執行此操作的方法。這將是一個很少的工作,然後改變每個刪除語句處理所有相關的表。 –