“RETURNING”的语法Mysql PDO 中的子句

发布于 2024-08-31 19:39:24 字数 397 浏览 3 评论 0原文

我正在尝试添加一条记录,同时返回所添加记录的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮生面具三千个 2024-09-07 19:39:24

我认为这与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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文