RT:假设数据库有2个字段,id和childrenId 现在想写个触发器,在update的触发条件下,如果这条记录的childrenId不为空就更新id=当前数据childrenId字段的那条数据,可是mysql的触发器里面的执行语句不用用update set 也不能用replace to 这类的 先求助大神 你们平时这种业务上是如何处理的 mysql

解决方案 »

  1.   

    BEFORE UPDATE:
    SET NEW.ID=NEW.childrenId
      

  2.   

    大神 我是想实现 update tablename t set column = new.value where t.id = new.childrenId 这样的效果哦..不是更新当前这条记录 而是本表的另外一条记录 
      

  3.   

    大神 我是想实现 update tablename t set column = new.value where t.id = new.childrenId 这样的效果哦..不是更新当前这条记录 而是本表的另外一条记录 
    无法做到,MYSQL不允许在TRIGGER中对本表操作, 拆分成2个表 OR 更换数据库
      

  4.   

    大神 我是想实现 update tablename t set column = new.value where t.id = new.childrenId 这样的效果哦..不是更新当前这条记录 而是本表的另外一条记录 无法实现,MySQL不像MSSQL有之前表,和之后表这个概念,它只有那条被改变记录的之前状态,和之后状态,因此你唯一的选择就是分表
      

  5.   

    MYSQL不支持触发器中对本表自身的更新操作。 除非自己修改MYSQL的源代码重新编译。