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

前端之家收集整理的这篇文章主要介绍了mysql – 从SHOW ERRORS查询中选择特定列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

编辑:

错误的选择查询SELECT之后查询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相关文章