MySQL中的输出子句
有没有一种方法可以模拟MySQL中的OUTPUT子句,因为我们在SQL Server中有一个OUTPUT子句。
这是我的查询类型
UPDATE employeeSET empage = 10
OUTPUT INSERTED.empid
WHERE (empage < 10)
因为我也需要MySQL服务器数据库具有此功能。
请提出实现此功能的最佳方法。
回答:
- 您可以创建触发器并将所需的值插入另一个表。
- 我不确定,但是-对于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语句(FOR UPDATE子句)
以上是 MySQL中的输出子句 的全部内容, 来源链接: utcz.com/qa/430473.html