首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除同表中的另一行时,将行内的部分/全部值更新为null MYSQL

问删除同表中的另一行时,将行内的部分/全部值更新为null MYSQL
EN

Stack Overflow用户
提问于 2018-08-06 08:53:15
回答 1查看 26关注 0票数 0

我有一个如下所示的mysql表

代码语言:javascript
复制
id  tetangga1 tetangga2
1   null     null                       
2   1        3              
3   1        4           
4   4        5         
5   4        6         
6   6        null      

当删除同一个表中的某一行时,我需要将其中一行的值更新为NULL,例如,如果我删除了行1,那么该表将如下所示

代码语言:javascript
复制
id  tetangga1 tetangga2                       
2   NULL        3              
3   NULL        4           
4   4           5         
5   4           6         
6   6           NULL  

说明:第一行将被删除,第二行和第三行的Tetangga1的值将更新为null

我怎样才能做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2018-08-06 09:02:12

您可以使用适当定义的外键关系来完成此操作:

代码语言:javascript
复制
alter table t
    add constraint fk_t_tetangga1
        foreign key (tetangga1) references t(id)
        on delete set NULL;

这实际上比触发器更好。数据库将维护关系的完整性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51699382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档