[英]MySQL insert - for each row, return insert id
假设我要插入一个数据数组。 我将要插入一个如下所示的内容:
INSERT INTO `table` (`name`, `value`) VALUES('name1','value1'),('name2','value2')
我们假设该table
具有主键。
有没有办法像这样批量插入时,获取每行的最后一个插入ID,然后返回这些新ID? 我知道您传统上无法使用LAST_INSERT_ID()
完成此操作,但我想知道是否可以使用类似游标的功能来实现此功能,还可以使用临时表来存储值,直到返回它们。
任何帮助都会很棒。
https://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
LAST_INSERT_ID() will return the first id from a multi row insert.
因此,您只需返回该值即可:
INSERT INTO `table1` (`name`, `value`) VALUES('name1','value1'),('name2','value2');
SET @firstid := LAST_INSERT_ID();
SELECT * from table1 where id>=@firstid;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.