无法在同一查询中运行插入和选择LAST_INSERT_ID()?

时间:2017-07-08 05:43:51

标签: mysql

我使用node连接到mysql,我需要运行一个insert,然后立即运行select last_insert_id()。

insert into data_temp values (null, '{"test":{"id":12,"otherdata":"x","otherdata2":"y"}}');
SELECT LAST_INSERT_ID();

在mysql workbench中,这个查询有效,但是给我一个错误说:

SELECT LAST_INSERT_ID() )
  

错误代码:1064。您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   语法使用附近')'在第2行0.047秒

它实际上返回了正确的id但是因为它在最后一个部分节点上抛出错误正在捕获错误。

1 个答案:

答案 0 :(得分:0)

您的插入查询中存在一个问题,即您错过了列的名称

这样做

insert into data_temp (`col1`, `col2`) values (null, '{"test":
{"id":12,"otherdata":"x","otherdata2":"y"}}'); SELECT LAST_INSERT_ID();

代替col1col2添加您的列名称,它将适合您。

相关问题