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

2017-09-27 09:34:15 +08:00
 Kanye

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

3667 次点击
所在节点    MySQL
9 条回复
icemanpro
2017-09-27 09:39:05 +08:00
update table set b=(case A when is not null then 1 end) where ...
fulanto
2017-09-27 09:44:54 +08:00
触发器?
zgbgx1
2017-09-27 10:11:15 +08:00
写个触发器,但是如果 db 压力较大的话,还是 做逻辑判定,写 sql
paragon
2017-09-27 10:26:37 +08:00
这不应该依耐你业务代码的么
shiji
2017-09-27 10:35:14 +08:00
从 SF 直接复制粘贴过来的?
https://segmentfault.com/q/1010000011372509
gamexg
2017-09-27 12:06:17 +08:00
这种不应该在插入时自己检查并处理吗?
另外数据库触发器之类的虽然可行,但是不建议在数据库做,数据库没有版本控制,时间长了就变成历史遗留问题了。
Kanye
2017-09-27 16:50:40 +08:00
@shiji 就是我啊哈哈
Kanye
2017-09-27 16:58:51 +08:00
@icemanpro 谢谢,我试试😘
finull
2017-09-27 17:18:19 +08:00
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