› 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 · 4861 views
    This topic created in 3291 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   ·   Privacy   ·   Solana   ·   997 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:43 · PVG 07:43 · LAX 16:43 · JFK 19:43
    ♥ Do have faith in what you're doing.