Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在多行插入中使用最后一个插入\u ID()_Mysql - Fatal编程技术网

Mysql 在多行插入中使用最后一个插入\u ID()

Mysql 在多行插入中使用最后一个插入\u ID(),mysql,Mysql,是否可以在INSERT查询中使用LAST_INSERT_ID() INSERT INTO mytable (col1, col2) VALUES ('val1', null), ('val2', LAST_INSERT_ID()) 尝试上面的LAST\u INSERT\u ID()返回0,看看是否可以合并查询。从我发现的情况来看,它不起作用,因为LAST\u INSERT\u ID在整个语句完成之前没有值。我认为这很好地解释了这一点(http://dev.mysql.com/doc/refma

是否可以在INSERT查询中使用LAST_INSERT_ID()

INSERT INTO mytable (col1, col2) VALUES ('val1', null), ('val2', LAST_INSERT_ID())

尝试上面的LAST\u INSERT\u ID()返回0,看看是否可以合并查询。

从我发现的情况来看,它不起作用,因为LAST\u INSERT\u ID在整个语句完成之前没有值。

我认为这很好地解释了这一点(http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-插入id):

“当前执行的语句不影响LAST_INSERT_ID()的值。假设您使用一条语句生成一个自动_增量值,然后在多行INSERT语句中引用LAST_INSERT_ID(),该语句将行插入具有自己的自动_增量列的表中。LAST_INSERT_ID()的值将在第二条语句中保持稳定;第二行和以后的行的值不受早期行插入的影响。(但是,如果混合引用LAST_INSERT_ID()和LAST_INSERT_ID(expr),则效果未定义。)