首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL中的OUTPUT子句

MySQL中的OUTPUT子句
EN

Stack Overflow用户
提问于 2011-04-28 18:50:38
回答 1查看 22K关注 0票数 25

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

下面是我的查询

代码语言:javascript
复制
UPDATE       employee
SET          empage = 10
OUTPUT       INSERTED.empid
WHERE        (empage < 10)

因为我需要有MySQL服务器数据库的这一功能也。

敬请推荐实现此功能的最佳方式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-28 21:47:12

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

编辑:

我已经尝试了InnoDb表的一个场景,看起来它是有效的-

代码语言:javascript
复制
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)

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5817414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档