私はちょうど同じものを探していました。
INSERTs
標準の phpMyAdmin の「挿入」フォームを使用して実行すると、行が挿入されますが、警告を示す赤いバーが表示されます。しかし、一括挿入を行った場合、警告は表示されず、代わりに影響を受けた行数を示す緑色のバーが表示されました (実際には成功していない可能性がありますが、すべてが成功したという印象を与えます)。
SHOW WARNINGS
コマンドを手動で送信する必要があることがわかりました。たとえば、このクエリを実行するときは、両方のステートメントを phpMyAdmin SQL ボックスに入れます。
INSERT INTO test2 SELECT * FROM test1;
SHOW WARNINGS;
これにより、次のような警告のリストが表示されました...
Level Code Message
Warning 1265 Data truncated for column 'a' at row 1
Warning 1265 Data truncated for column 'a' at row 3
Warning 1265 Data truncated for column 'b' at row 3
Warning 1366 Incorrect integer value: 'x' for column 'b' at row...
注意事項:
- 後でコマンドを実行することはできません
SHOW WARNINGS
。空のように表示されます。[Go] をクリックすると、最初のクエリのボックスに含まれている必要があります。これは、MySQL が最後に実行したクエリの警告のみを保持するためです。リンクまたはボタンをクリックするたびに、phpMyAdmin は DB であらゆる種類の他のクエリを実行するため、以前の警告は失われます。
phpMyAdmin は、カスタム クエリからの複数の結果の表示をサポートしていません。したがって、これを 1 つの SQL スクリプトとして実行しても機能しません... (バージョン 3.4.10.1 の時点)
INSERT INTO test2 VALUES ('my text', 'something else');
SHOW WARNINGS; # you won't see the warnings from here
INSERT INTO test2 VALUES ('my text', 'something else');
SHOW WARNINGS;
上記の方法はphpMyAdminでは機能しませんが、MySQL コマンド ライン クライアントでは正常に機能する必要があります。必要に応じて使用してください。
複数の挿入があり、すべての警告を表示したい場合は、それらを 1 つのINSERT
ステートメントとして連結する必要があります。例えば:
INSERT INTO test2 VALUES
('my text', 'something else'),
('my text', 'something else');
SHOW WARNINGS;