SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error: ...';
mysql 5.5 では、ユーザー定義エラーを発生させるために使用できることを知っています。また、一部のテーブルINSERT
に配置されている場合、このエラーは操作を停止します。また、 で定義されている errorinfo()をキャッチして出力するBEFORE INSERT TRIGGER
のも便利です。
しかし、レンタルしているサーバーのmysqlのバージョンはmysql 5.1です。また、mysql 5.5のような機能を使用してユーザー定義エラーを発生させる方法を知りたいです。PDO
PDOException
MESSAGE_TEXT
SIGNAL SQLSTATE
SIGNAL SQLSTATEMENT
- トリガー
insert
中に操作を中断するbefore insert
- によってキャッチすることができます
PDO
同様の問題に関するいくつかのトピックを見つけました。これらを試しました。
存在しない手続きを呼び出す
`sp_raise_error` を呼び出します。
関数を使用してエラーをスローする
https://blogs.oracle.com/svetasmirnova/entry/how_to_raise_error_in
どちらも では捕まえられませんPDO
。それで、解決策は何ですか?(MySQL5.5でテストしました)