gpt4 book ai didi

mysql - 有什么方法可以记录查询并输出到文件吗?

转载 作者:行者123 更新时间:2023-11-29 05:23:08 26 4
gpt4 key购买 nike

我的案例如下:外部方提供了一个包含数千个查询的巨大 SQL 文件。这些包括更新、插入、子查询等。这些查询是在第三方软件中组装的(我认为是 Excel,但我可能弄错了)。

因此,许多此类查询往往会失败,并且整个批处理都需要成功而不会出现一个错误。我正在使用 mysql source file.sql 执行查询,并且正在使用 mysql tee log.txt 将输出记录到 txt 文件。

然而,这已被证明是不够的,因为这是我得到的输出:

Query OK, 1 row affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

ERROR 1242 (21000): Subquery returns more than 1 row
Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

有点像大海捞针。我必须计算所有前面的日志记录消息以确定具体哪个查询失败。

有什么方法可以获取包含查询的日志文件?或者还有其他有效的方法吗?

  • 小批量执行不是一种选择。 (这需要很长时间。)
  • 在命令行上执行它们也不是。 (信息飞得如此之快,不可能全部阅读或捕捉到它们。)

最佳答案

如果您使用 -v--verbose 标志打开 mysql 客户端,它将回显语句和输出。

$ mysql -v
mysql> tee output.txt
mysql> source myscript.sql

更新:

在文档中注意 --tee 选项(或 tee 命令):

Tee functionality works only in interactive mode.

这意味着它在您运行脚本时不起作用,并且记录了此限制。换句话说,如果你像现在这样使用 source 它会起作用,但如果你这样做它就不起作用:

$ mysql -v --tee output.txt < myscript.sql

关于mysql - 有什么方法可以记录查询并输出到文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286004/

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