SQL INSERT无法使用OUTPUT INSERTED语句



我的目标是在数据库表中插入新行,并立即取回插入行的ID。我在stackoverflow上看到了一些其他的帖子,建议使用这个命令:

INSERT INTO selecttable (name) OUTPUT INSERTED.ID VALUES ('aName')

不幸的是,此命令的执行失败,并显示以下错误消息:

您的SQL语法有错误;查看与MariaDB服务器版本对应的手册,了解在"OUTPUT INSERTED.ID VALUES('Name'("附近使用的正确语法

在没有输出语句的情况下执行命令效果良好:

INSERT INTO selecttable (name) VALUES ('aName')

你知道为什么上面的命令不起作用吗?

通常,我认为您使用LAST_INSERT_ID():

INSERT INTO selecttable (name)
VALUES ('aName');
SELECT LAST_INSERT_ID();

这是一个不完美的等价结构。例如,它不能很好地处理多行。但这是MariaDB/MySQL解决这个问题的方法。

相关内容

  • 没有找到相关文章

最新更新