现在有两个表,表1和表2,我想让表1增加一行后,表2通过触发器,增加一列,并且列的名字是表1的id。这样应该如何实现?
请高手赐教 !

解决方案 »

  1.   

    insert into b2(f1) values(b1.id)
    or
    insert into b2(f1) values(new.id)
      

  2.   

    insert into b2(f1) values(b1.id) 
    or 
    insert into b2(f1) values(new.id)把完整的代码发出来好吗?
    要触发器!
    是增加一列!不是增加一行  - - 
    insert是增加一行吧  …
      

  3.   

    触发器不能执行 commit ,而添加一列会导致隐含的 commit所以目前在MYSQL无法实现这种在触发器中进行表结构修改的功能。
      

  4.   

    不能在TRIGGER中修改表结构,,MYSQL的限制
    Explicit or implicit commit is not allowed in stored function or trigger.
      

  5.   

    建议重新考虑一下你的表的设计。
    毕竟MYSQL中一个表的列数是有限制的,而表1的行数是没有限制的。当你表1中 1000000 行的时候,表2也没那么多列了。如果是报表上的考虑,不如用视图或者程序来实现。一般来说,数据库设计的原则是在程序正式运行中不应该再去更新表的结构。
      

  6.   

    Mysql的触发器不是万能的,所以又很多的限制