私はパブリックエラーログプロシージャを構築したいと考えています。 Mysql 5.7.2 私は、同じ手順で動作します。 私は以前このmysqlバージョンが動作していたことを覚えています。あるいは設定を変更しました。今のところ、@errNo、@errMsgは常にNULLです。mysqlを使用して別の手順で診断を取得
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_err_log`()
BEGIN
GET DIAGNOSTICS @cno = NUMBER;
GET DIAGNOSTICS CONDITION 1 @errNo = MYSQL_ERRNO, @errMsg = MESSAGE_TEXT;
SELECT @errNo, @errMsg;
END
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`()
BEGIN
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
CALL sp_err_log();
END;
select 1;
select * from tbl_not_exist;
select 2;
END
ご利用いただきありがとうございます。それでは、> = 5.7.2 – wa56
@ wa56については不可能であることを理解しています。実際、MySQLは現在SQL標準に準拠しています。MySQL 5.7.2の変更点(2013-09-21、マイルストーン12)::診断メモ](https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-2.html#mysqld-5-7-2-diagnostics)を参照してください。 – wchiquito