V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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 · Sep 27, 2017 · 4528 views
    This topic created in 3146 days ago, the information mentioned may be changed or developed.

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

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

    但看这个我觉得,这个字段 B 没必要存在...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4798 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 09:54 · PVG 17:54 · LAX 02:54 · JFK 05:54
    ♥ Do have faith in what you're doing.