【问题标题】:Using OUTPUT-like clause after INSERT INTO in MySQL在 MySQL 中的 INSERT INTO 之后使用类似 OUTPUT 的子句
【发布时间】:2015-07-18 16:11:05
【问题描述】:

我有一个包含id, name ,surname 列的表。当我向表中添加新行时,id 增加 1,因为它的 AIPK。现在我如何使用 OUTPUT 命令取回最新的 id 变量?

"INSERT INTO table (name, surname) VALUES ('mike', 'hensen') OUTPUT ?????? how to continue ????"

edit LAST_INSERT_ID() 不是一个很好的方法,因为在大网页中每秒可能会添加很多内容。

【问题讨论】:

  • 好的,但是我要如何回显这个值呢?
  • 例如选择@yournamedvariable。
  • 您能否阅读关于您的问答的第四条评论,因为这是一个大问题。

标签: php mysql


【解决方案1】:

我很确定LAST_INSERT_ID() 正是您想要的。它返回基于每个连接插入的最后一个 id,而不是最后一个插入的 id(记录在 here)。据推测,不同的网络用户会有不同的连接,所以使用该功能可以满足您的需求。

如果您想要在所有连接中插入的最后一个 id,但不一定来自您最近的 insert,那么您可以查看元数据中的 auto_increment 值。

【讨论】:

  • (SET @web_id = LAST_INSERT_ID());我将如何在 php 中回显 web_id 值?
  • @user3301042 。 . .您可以通过insert 之后的查询来做到这一点:select last_insert_id()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2011-08-14
相关资源
最近更新 更多