gpt4 book ai didi

mysql - MySQL 中的 OUTPUT 子句

转载 作者:IT老高 更新时间:2023-10-28 23:47:54 26 4
gpt4 key购买 nike

有没有办法模拟 MySQL 中的 OUTPUT 子句,因为我们在 SQL Server 中有一个 OUTPUT 子句。

这是我的查询类型

UPDATE       employee
SET empage = 10
OUTPUT INSERTED.empid
WHERE (empage < 10)

因为我也需要为 MySQL 服务器数据库提供此功能。

请提出实现此功能的最佳方法。

最佳答案

  1. 您可以创建一个触发器并将您需要的值插入到另一个表中。
  2. 我不确定,但是 - 对于 MYISAM 表,您可以锁定 employee 表,选择值并将其插入到另一个表中,然后更新并解锁 employee 表。

编辑:

我已经尝试了一种使用 InnoDb 表的方案,似乎可行 -

START TRANSACTION;

SELECT * FROM table WHERE id = 1 FOR UPDATE; -- lock rows
-- Or call this select to insert and lock rows
-- INSERT INTO table_output SELECT * FROM table WHERE id = 1 FOR UPDATE;

-- Make modifications
UPDATE table SET column1 = '111' WHERE id = 1;

COMMIT;

SELECT statement (FOR UPDATE clause)

关于mysql - MySQL 中的 OUTPUT 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com