我有一个关于SQL查询的问题。Insert
我的代码中有3个查询。第一个查询带有自动增量ID。
INSERT INTO master_tbl
第二个插入将使用LAST_INSERT_ID()
函数从第一个查询获取ID 。
INSERT INTO process (id_ref, process_id, hot_cold, temp)
VALUES (LAST_INSERT_ID(), '4', '-', '12')
我的问题是,我有第三个查询,它也需要使用在第一个查询中生成的ID id_ref
。
当我使用时LAST_INSERT_ID()
,它获得的ID是第二个查询的ID。
关于如何仍能在第一查询中获得ID以便在第三查询中使用的任何建议?
您可以声明该变量并将第一个查询ID存储在该变量中,然后在任何需要的地方使用它。
After first query as you mentioned you are using the separate queries you can try using select to set the `Last insert id` into the variable and then use that variable as below,
select @valuetoUse := LAST_INSERT_ID()
或其他方式是使用选择来获取代码中的值,然后将该值作为所有其他值插入。为了获得价值,您可以直接解雇select
SELECT LAST_INSERT_ID()
然后在第二个查询
INSERT INTO process (id_ref, process_id, hot_cold, temp)
VALUES (valuetoUse , '4', '-', '12')
然后在第三个查询中再次
INSERT INTO thirdtable (id_ref, process_id, hot_cold, temp)
VALUES (valuetoUse , '4', '-', '12')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句