正在做的是将旧数据库克隆到具有不同结构的新数据库,但应具有相同的旧数据
是否可以在插入中执行插入,返回插入查询的 id
INSERT INTO tab1 (nom,id_2) VALUES
("jack",(INSERT INTO tab2 (pass) VALUES ("1234")));
在INSERT INTO tab2 (pass) VALUES ("1234")
我希望获得插入内容的ID
但没有运气! (我希望在一个SQL查询中(我已经知道mysql_insert_id
))
提前致谢
答案 0 :(得分:4)
您无法在单个查询中执行此操作 - 使用mysql_insert_id()获取最后插入的ID,例如:
mysql_query('INSERT INTO tab2 (pass) VALUES ("1234")');
$lastid = mysql_insert_id();
mysql_query('INSERT INTO tab1 (nom,id_2) VALUES ("jack",'.$lastid.')');
答案 1 :(得分:1)
您不能将此作为单个插入执行,因为插入是原子的,即在语句完成之前不会确定ID。
在事务中包装两个语句,您将获得您的ID和原子性。