有没有一种方法可以模拟MySQL中的OUTPUT子句,因为我们在SQL Server中有一个OUTPUT子句。
这是我的查询类型
UPDATE employee SET empage = 10 OUTPUT INSERTED.empid WHERE (empage < 10)
因为我也需要MySQL服务器数据库具有此功能。
请提出实现此功能的最佳方法。
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子句)