带有 INSERT OUTPUT 的 SQL 语法错误 [重复]
Posted
技术标签:
【中文标题】带有 INSERT OUTPUT 的 SQL 语法错误 [重复]【英文标题】:Error in SQL syntax with INSERT OUTPUT [duplicate] 【发布时间】:2017-10-21 11:23:10 【问题描述】:编辑:我使用的是 PDO 对象,而不是 mysqlI,我也没有尝试获取 lastId,这些问题与您标记为“重复”的问题不同,它们只是不同的解决方案。
我的 SQL 语句出现问题,我正在使用 PDO 对象,并且一直收到此错误(如下),我尝试了几件事并进行了一些研究,但找不到任何工作。有关我做错了什么的任何信息(或者如果这是非法声明)。
感谢您的帮助!
错误
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'INSERTED.*
INTO `visits` (`cardNum`, `purpose`, `status`) VALUES ('0','0','0') at line 1
声明
$pdo->prepare('INSERT INTO `visits` (`cardNum`, `purpose`, `status`) OUTPUT INSERTED.* VALUES (?,?,?)');
【问题讨论】:
我不会将此标记为重复,因为那个使用的是 MYSQLI,我使用的是 PDO。 【参考方案1】:我认为在 MySQL 服务器上 OUTPUT INSERTED
不可用,如果目标是检索最后插入的 id,那么试试这个:
$pdo->lastInsertId();
【讨论】:
好吧,问题是有可能另一个实例可能插入,然后我的 lastInsertId 现在不同了,对吗?以上是关于带有 INSERT OUTPUT 的 SQL 语法错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章