如何在执行查询后将MySQL响应存储到表中?

时间:2014-03-03 16:52:21

标签: mysql

当我在MySQL工作台上执行查询时,我得到了该查询的结果。如果出现错误,则会为您提供错误代码和一些数据。如果它通过则返回总记录插入/更新/总警告和所有警告的列表。

我有一个执行INSERT INTO ...... ON DUPLICATE KEY UPDATE

的存储过程

我需要做的是创建一个表,它将存储每次执行查询后返回的所有结果。

我想捕获以下内容

  1. 总插入
  2. 完全更新
  3. 总警告
  4. 如果有警告,那么我想抓住所有笔记 由MySQL返回。
  5. 如果查询中出现错误,那么我需要的是什么原因 捕获错误输出。
  6. 我之所以需要这样做是因为此过程是由事件触发的。所以我需要知道每天发生的事情,以便我可以调查错误/警告。

    由于

1 个答案:

答案 0 :(得分:0)

所以...这里有点晚了,但我会放手一搏。

如果其他人正在寻找这样的东西......

我相信你要找的是performance_schema

如果你的mysql版本中有这个选项。

(目前正在使用AWS / RDS 5.6.34-log)。

你可以在看完表后查看表格,看看性能,锁定插入,更新,警告(授予你sql_mode设置)以及其他我认为你想要的东西。< / p>

其中有很多东西,但它对已经出现问题的mysql征税很大,至少我所看到的是使用亚马逊的out of the box设置。

示例:

SELECT * FROM performance_schema.events_statements_history LIMIT 1000;
SELECT * FROM performance_schema.events_statements_history_long LIMIT 1000;
SELECT * FROM performance_schema.mutex_instances LIMIT 1000;
SELECT * FROM performance_schema.events_waits_current LIMIT 1000;
SELECT * FROM performance_schema.events_stages_summary_by_account_by_event_name LIMIT 1000;
SELECT * FROM performance_schema.events_stages_summary_by_host_by_event_name LIMIT 1000;
SELECT * FROM performance_schema.events_stages_summary_by_thread_by_event_name LIMIT 1000;
  

不隶属于以下公司或与之关联。

MySQL Documents

datadoghq ref: on setting up performance_schema for AWS