mysql 如何检测如果通一张表 A 字段有内容插入,字段(B)自动填入一个设定值,反之则都为空,

2017 年 9 月 27 日
 Kanye

mysql 如何检测如果同一张表 A 字段有内容插入,字段(B)自动填入一个设定值,反之则都为空, 数据库小白,望各位大佬帮帮忙,谢谢

4528 次点击
所在节点    MySQL
9 条回复
icemanpro
2017 年 9 月 27 日
update table set b=(case A when is not null then 1 end) where ...
fulanto
2017 年 9 月 27 日
触发器?
zgbgx1
2017 年 9 月 27 日
写个触发器,但是如果 db 压力较大的话,还是 做逻辑判定,写 sql
paragon
2017 年 9 月 27 日
这不应该依耐你业务代码的么
shiji
2017 年 9 月 27 日
从 SF 直接复制粘贴过来的?
https://segmentfault.com/q/1010000011372509
gamexg
2017 年 9 月 27 日
这种不应该在插入时自己检查并处理吗?
另外数据库触发器之类的虽然可行,但是不建议在数据库做,数据库没有版本控制,时间长了就变成历史遗留问题了。
Kanye
2017 年 9 月 27 日
@shiji 就是我啊哈哈
Kanye
2017 年 9 月 27 日
@icemanpro 谢谢,我试试😘
finull
2017 年 9 月 27 日
mysql 5.7.6 提供了计算列的功能,可以根据其它列的值自动计算
如果较早版本的 mysql,触发器是个方案

但看这个我觉得,这个字段 B 没必要存在...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/393943

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX