我现在有两张表,user和user_info,user_info的id是user表id的外键,我想在插入一行新的user之后,自动在user_info创建一条数据,请问怎么实现呢?不要说用php再执行一次查询哦……
谢谢了

解决方案 »

  1.   

    不再执行一次query你想如何实现呢?触发器?貌似触发器还不如在执行此query
      

  2.   

    mysql你可以建立一个触发器,监控user表,如果有新数据进入,则往user_info表插入数据.
      

  3.   

    mysql_insert_id --  取得上一步 INSERT 操作产生的 ID 
      

  4.   

    用两条语句insert into `user`() values();
    insert into `user_info`(`id`) values(last_insert_id());
      

  5.   

    岂不是在user_info 里只插入一个id值…… 毫无意义吧
      

  6.   

    触发器方法好些:而且效率也高,可以这么写:建立一个名为CSDN的触发器,触发机制为插入!数据库用真实的数据库名替换
      
       create trigger csdn
        after insert
         on 数据库.user for each row
           begin
              insert into 数据库.user_info(字段1,字段2,...) values('值1','值2'...);
       end 
       
      

  7.   

    1.一个表
    2.PHP再次执行
    3.触发器
      

  8.   

    user和user_info 如果数据不一致,不组织一下,一次怎么可以?如果是子集和全集的关系,可以使用存储过程如果一样的话,用触发器
      

  9.   

    全自动是不行的,只能半自动,楼上都说了因为这个插入是要提供其它字段的值等额外信息的,就算插入空值,你也得告诉它是空啊所以,你看手册上有自动delete和update的,但是没有insert的