“RETURNING”的语法Mysql PDO 中的子句
我正在尝试添加一条记录,同时返回所添加记录的 id。我读到可以使用 RETURNING
子句来做到这一点。
$stmt->prepare("INSERT INTO tablename (field1, field2)
VALUES (:value1, :value2)
RETURNING id");
但是当我添加 RETURNING 时插入失败。正在添加的表中有一个名为 id
的自动递增
字段。
有人能看出我的语法有什么问题吗?或者PDO可能不支持RETURNING
?
I'm trying to add a record, and at the same time return the id of that record added. I read it's possible to do it with a RETURNING
clause.
$stmt->prepare("INSERT INTO tablename (field1, field2)
VALUES (:value1, :value2)
RETURNING id");
but the insertion fails when I add RETURNING. There is an auto-incremented
field called id
in the table being added to.
Can someone see anything wrong with my syntax? or maybe PDO does not support RETURNING
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为这与PDO支持与否没有任何关系。 Oracle 和 PostgreSQL 支持 RETURNING,但 MySQL 不支持。
使用
PDO::lastInsertId
代替。I don't think it has anything to do with PDO supporting it or not.
RETURNING
is supported by Oracle and PostgreSQL but not by MySQL.Use
PDO::lastInsertId
instead.