将新行插入 MySQL 表时,通常需要检索新插入的值以进行进一步处理或参考。以下是如何在单个查询中插入一行并同时获取其内容。
提供的查询:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')
将一行插入到 items 表中,从 item_bug 表中选择数据id 等于 3。但是,此查询不提供检索新插入记录的方法。
要在单个查询中同时实现插入和检索,可以使用 LAST_INSERT_ID() 函数。此函数返回最后插入的行的 ID。通过将其与附加查询相结合,您可以获得插入记录的详细信息。
这是修改后的查询:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3'); SELECT * FROM `items` WHERE `id` = LAST_INSERT_ID();
此查询首先将行插入到 items 表中。然后,它执行 SELECT 查询,该查询从 items 表中获取 id 等于最后插入的 ID 的行的所有列。
以上是如何在单个 MySQL 查询中检索插入的行值?的详细内容。更多信息请关注PHP中文网其他相关文章!