插入基于另一个插入与mysql

时间:2014-04-17 17:05:36

标签: mysql sql

我必须在两个不同的表中运行两个insert语句。 sqls如下:

INSERT INTO Table1 ('t1_name', 't1_class') VALUES ('Joe','8');

Table1有一个自动增量ti_id列

INSERT INTO Table2 ('t2_ti_id','t2_course') VALUES(< 'ti_id' from Table1 call >,
      'English'),(< 'ti_id' from Table1 call >, 'Math').

所以应该是最终结果,这样在table2查询中使用为table1查询设置的自动增量id

Table1 

t1_id     ti_name    t1_class     
   1        Joe          8


Table2

 t2_id    t2_t1_id    t1_course
   1         1         English
   2         1          Math

t1_id和t2_t1_id具有外键设置

请告诉我如何使用相同的sql进行调用,这样我就不必为此创建一个单独的perl脚本

提前致谢

1 个答案:

答案 0 :(得分:3)

使用last_insert_id()

试试这个:

INSERT INTO Table1 (t1_name, t1_class) VALUES ('Joe','8');

SET @t1id = SELECT LAST_INSERT_ID();

INSERT INTO Table2 (t2_ti_id, t2_course) 
VALUES (@t1id,'English')