発生したばかりのMySQL警告を表示するにはどうすればよいですか?


160

行を生成する単純なMySQL CREATE TABLEステートメントを実行したところです

「クエリは正常、影響を受ける行は0、警告は1(0.07秒)。」

ただし、実際には警告が何であるかはわかりませんでした。発生したばかりの警告の内容をどのように確認できますか?MySQL 5.1を使用しています。私がオンラインで見つけた唯一のものは「警告を表示」でした。しかし、それだけが生み出した

「空のセット(0.00秒)。」


1
他の人がインタラクティブmysqlについて指摘したように、(1。)でインタラクティブセッションを開始する--show-warnings(を参照man mysql)または(2.)既存のインタラクティブセッションにいる場合は、warnings(を参照man mysql)で同じ動作を有効にできます。
Trevor Boyd Smith

回答:


200

SHOW WARNINGS私が知っている唯一の方法ですが、警告が添付されているクエリの直後に実行する必要があります。間に他のクエリを実行したり、接続を切断したりすると、機能しSHOW WARNINGSません。

SHOW WARNINGSのMySQLマニュアルページは他の方法を示していないので、あなたがそれで立ち往生していると私はかなり確信しています。


これは私に役立ちましたが、警告が添付されたクエリの直後に実行する必要があります
asgs

98

\ Wを使用して、クエリ後に常に警告を表示するようにコマンドラインを設定することもできます。

\ wで再びオフにできます


3
これは私にぴったりでした。スクリプトの先頭に '\ W'を追加したら、準備完了です。
マットクライン

1
それはまだ存在します:dev.mysql.com/doc/refman/5.7/en/mysql-commands.htmlしかし、command-line mysqlクライアントを使用していない可能性があります。mysqlMySQLライブラリではなく、でのみ機能します。
Yvan 2017年

.my.cnfファイルからこのフラグを設定する方法はありますか?
StR

22

@HorusKol、そのためのドキュメントはありますか?何も見つかりませんでした。しかし--show-warningsMySQLのマニュアルによると、コマンドラインオプションが機能することがわかりました。


6
もし、するなら \?MySQLヘルプのコマンドラインで、\ w(警告をオフ)と\ W(警告をオン)の2つのオプションを確認できます。これはバージョンに依存する可能性がありますが、これはMySQL 5にずっと含まれていると確信しています。
HorusKol

@HorusKol、戻ってきて私の恐ろしいコメントに答えてくれてありがとう。(私は新しく、何も知らなかった!)
Pops
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.