我有两个表格如下(只是一个例子):
| Table1 | | Table2 |
------------------ ------------------
| id_table1 (pk) | | id_table1 (pk) |
| foo | | id_table1 (fk) |
| | | bar |
我需要在 table1 中插入一行,然后获取最后插入的ID,然后在 table2 中插入一个新行。
我正在使用PDO和PHP,我想在一个请求中执行此操作
但我也想检索存储在变量中的“first last_inserted_id”
所以我做的是:
$q = $db->query(
'INSERT INTO table1 (foo)
VALUES ("any");
SET @id = LAST_INSERT_ID();
INSERT INTO table2 (id_table1, bar)
VALUES (@id, "any");
SELECT @id;'
);
但不幸的是,当我获取结果时,我得到false
。
那么我做错了什么? 有没有办法获得SQL变量?