gpt4 book ai didi

mysql - 从 SHOW ERRORS 查询中选择特定列

转载 作者:可可西里 更新时间:2023-11-01 06:48:51 25 4
gpt4 key购买 nike

执行SHOW ERRORS时,输出中有3列(Level、Code、Message)。有没有办法选择一个特定的列(比方说,消息)而不是所有三个。

主要目的是获取变量中的错误消息(第 3 列)以供进一步处理。

已编辑:

在错误的选择查询 SELECT anything 之后查询 SHOW ERRORS 的结果是这样的:

    +-------+------+-------------------------------------------+
| Level | Code | Message |
+-------+------+-------------------------------------------+
| Error | 1054 | Unknown column 'anything' in 'field list' |
+-------+------+-------------------------------------------+

最佳答案

我在 mysql 中寻找与 T-SQL @@ERROR 等价的 mysql 并遇到了你的问题。

我用过GET DIAGNOSTICS访问错误信息,然后将这些信息用作插入错误日志的输入。

创建结构例如:

CREATE TABLE table_that_exists 
(
column_that_exists INT(11) NOT NULL
, PRIMARY KEY (column_that_exists)
);

CREATE TABLE tbl_error_log
(
id INT(11) NOT NULL AUTO_INCREMENT
, err_no INT(4)
, err_msg VARCHAR(50)
, source_proc VARCHAR(50)
, PRIMARY KEY (id)
);

运行查询以产生错误并显示 SHOW_ERRORS 的输出:

SELECT anything FROM table_that_exists;

SHOW ERRORS;

如何访问数据以用于其他程序/错误管理的示例:

GET DIAGNOSTICS CONDITION 1
@P1 = MYSQL_ERRNO, @P2 = MESSAGE_TEXT;

SELECT @P1, @P2;

INSERT INTO tbl_error_log (err_no, err_msg, source_proc)
VALUES (@P1, @P2, 'sp_faulty_procedure');

SELECT * FROM tbl_error_log;

关于mysql - 从 SHOW ERRORS 查询中选择特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20835150/

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