当前位置: 首页 > 面试题库 >

MySQL中的输出子句

田成化
2023-03-14
问题内容

有没有一种方法可以模拟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语句(FOR UPDATE子句)



 类似资料:
  • 问题内容: 是否有可能将MySQL查询的输出直接转换为XML? 我指的是类似MSSQL的 SQL-XML 插件,例如: 返回文本(或精确地说是MSSQL中的xml数据类型),该文本包含根据表中的列生成的XML标记结构。 使用 SQL-XML ,还可以选择如下显式定义输出XML结构: 生成如下的XML代码: 您有什么线索可以在MySQL中实现吗? 预先感谢您的回答。 问题答案: 将XML与MySQL

  • 问题内容: 我有一个要查看的列,其中包含带有换行符的字符串。我希望能够显式查看这些字符串中的和字符。有什么方法可以编写我的SQL查询,以告诉它输出带有换行符的字符串? 问题答案:

  • 问题内容: 在我的父脚本中,我执行以下操作: 在脚本中,我希望大多数日志消息都进入日志文件,但是我希望根据打印条件在控制台上打印一些消息: 但是它正在打印到outfile,我也想在控制台上打印 但这aslso不起作用。任何帮助,将不胜感激! 问题答案: 如果将stdout,stderr重定向,则可以尝试直接打印到控制台: 例:

  • 问题内容: 如何停止subprocess.Popen的输出?如果打印量很大,有时打印速度可能会很慢。 问题答案: 如果要完全丢弃它: 如果您使用的是Python 2.5,则将需要使用,或者只是不使用。

  • 问题内容: 我有以下脚本: 我从打来电话: 而且效果很好。 但是,当我这样做时: 口译员挂了。我究竟做错了什么?我希望能够多次读写另一个进程,以将一些任务传递给该进程。我需要做些什么? 编辑1 如果使用,则会得到以下信息: 编辑2 我试过冲洗: 和这里: 但它再次挂起。 问题答案: 我相信这里有两个问题在起作用: 1)您的父脚本调用,它将读取所有数据,直到文件结束。但是,您的子脚本会无限循环运行,

  • 问题内容: 我了解到,在Python中执行命令时,应该使用子进程。我想要实现的是通过ffmpeg对文件进行编码,并观察程序输出,直到文件完成。Ffmpeg将进度记录到stderr。 如果我尝试这样的事情: 调用child.communicate()后,程序无法继续执行,并等待命令完成。还有其他方法可以跟踪输出吗? 问题答案: communication()阻塞直到子进程返回,所以循环中的其余各行仅