小弟用的是mysql5.1.38,在触发器中可不可以实现建表功能,当然不是自身的表,是要因为需要,创建另外的一张不同结构的表

解决方案 »

  1.   

    以下是触发器脚本
    create trigger ins_tritest
    after insert on tabtest for each row
    begin
      Create table if not exists dbtest.userinfo
      (id bigint PRIMARY KEY AUTO_INCREMENT,
      name varchar(12)
      )engine=innodb;
    end;以下是报的错误
    MySQL Database Error: Explicit or implicit commit is not allowed in stored function or trigger.
      

  2.   

    那应该是不行了。 触发器中不允许执行 commit; 而 create table 等 DDL 会隐式的进行 commit
      

  3.   

    这样看,应该是和触发器不允许使用commit有关系了,唉,这样子,逻辑上就会有点麻烦了