V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
Kanye
V2EX  ›  MySQL

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

  •  
  •   Kanye · 2017-09-27 09:34:15 +08:00 · 3784 次点击
    这是一个创建于 2606 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    但看这个我觉得,这个字段 B 没必要存在...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:45 · PVG 19:45 · LAX 03:45 · JFK 06:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.