我有一个如下所示的mysql表
id tetangga1 tetangga2
1 null null
2 1 3
3 1 4
4 4 5
5 4 6
6 6 null 当删除同一个表中的某一行时,我需要将其中一行的值更新为NULL,例如,如果我删除了行1,那么该表将如下所示
id tetangga1 tetangga2
2 NULL 3
3 NULL 4
4 4 5
5 4 6
6 6 NULL 说明:第一行将被删除,第二行和第三行的Tetangga1的值将更新为null
我怎样才能做到这一点?
发布于 2018-08-06 09:02:12
您可以使用适当定义的外键关系来完成此操作:
alter table t
add constraint fk_t_tetangga1
foreign key (tetangga1) references t(id)
on delete set NULL;这实际上比触发器更好。数据库将维护关系的完整性。
https://stackoverflow.com/questions/51699382
复制相似问题