例如废掉列的值,我有这些表和数据:删除的行
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是唯一的“自动”执行此操作的方法。这将是一个很少的工作,然后改变每个删除语句处理所有相关的表。 –