SHOW WARNINGS [LIMIT [offset,]row_count] SHOW COUNT(*) WARNINGS
          SHOW WARNINGS
          は、現在のセッションでメッセージを生成した最後のステートメントのために発生したエラー、警告、および注記メッセージを表示します。最後のステートメントがテーブルを使用し、メッセージを生成しなかった場合は、何も表示しません。(つまり、テーブルを使用するが、メッセージを生成しないステートメントによってメッセージリストがクリアーされます。)
          テーブルを使用せず、メッセージを生成しないステートメントは、メッセージリストに影響を与えません。
        
          警告は、INSERT、UPDATE、LOAD
          DATA INFILE などの DML
          ステートメントのほか、CREATE
          TABLE や ALTER
          TABLE などの DDL
          ステートメントに対して生成されます。
        
          関連ステートメントである
          SHOW ERRORS
          はエラーだけを表示します。項8.5.5.18. 「SHOW ERRORS 構文」
          を参照してください。
        
          SHOW COUNT(*) WARNINGS
          ステートメントはエラー、警告、そしてノートの総数を表示します。warning_count
          変数からもこの数字を検索することができます。
        
SHOW COUNT(*) WARNINGS; SELECT @@warning_count;
          もし
          max_error_count
          システム変数が、すべてのメッセージの格納ができないほど低く設定されると、warning_count
          の値は SHOW
          WARNINGS
          によって表示されるメッセージ数よりも大きくなります。この節の後の方で表示される例で、これがどのように起きるのか紹介しています。
        
          LIMIT 節は
          SELECT
          ステートメントに対するのと同じ構文を持っています。項8.2.8. 「SELECT 構文」
          を参照してください。
        
          MySQL
          サーバーは、最後のステートメントから生じたエラー、警告、そしてノートの総数を送り返します。もし
          C API を利用していれば、この値は
          mysql_warning_count()
          をコールすることで得ることができます。mysql_warning_count()
          を参照してください。
        
          次の DROP
          TABLE
          ステートメントはノートをもたらします:
        
mysql>DROP TABLE IF EXISTS no_such_table;mysql>SHOW WARNINGS;+-------+------+-------------------------------+ | Level | Code | Message | +-------+------+-------------------------------+ | Note | 1051 | Unknown table 'no_such_table' | +-------+------+-------------------------------+
          ここに、CREATE
          TABLE
          に対する構文警告と、INSERT
          に対する変換警告を表すシンプルな例があります。
        
mysql>CREATE TABLE t1 (a TINYINT NOT NULL, b CHAR(4)) TYPE=MyISAM;Query OK, 0 rows affected, 1 warning (0.00 sec) mysql>SHOW WARNINGS\G*************************** 1. row *************************** Level: Warning Code: 1287 Message: 'TYPE=storage_engine' is deprecated, use 'ENGINE=storage_engine' instead 1 row in set (0.00 sec) mysql>INSERT INTO t1 VALUES(10,'mysql'),(NULL,'test'),->(300,'Open Source');Query OK, 3 rows affected, 4 warnings (0.01 sec) Records: 3 Duplicates: 0 Warnings: 4 mysql>SHOW WARNINGS\G*************************** 1. row *************************** Level: Warning Code: 1265 Message: Data truncated for column 'b' at row 1 *************************** 2. row *************************** Level: Warning Code: 1263 Message: Data truncated, NULL supplied to NOT NULL column 'a' at row 2 *************************** 3. row *************************** Level: Warning Code: 1264 Message: Data truncated, out of range for column 'a' at row 3 *************************** 4. row *************************** Level: Warning Code: 1265 Message: Data truncated for column 'b' at row 3 4 rows in set (0.00 sec)
          エラー警告、そして注記メッセージの最高格納数は
          max_error_count
          システム変数によってコントロールされています。デフォルトにより、その値は
          64
          です。格納するメッセージ数を変更したければ、max_error_count
          の値を変更してください。次の例では
          ALTER TABLE
          ステートメントは 3
          つの警告メッセージを発生しますが、max_error_count
          が 1 に設定されているため、そのうちの 1
          つしか格納されません。
        
mysql>SHOW VARIABLES LIKE 'max_error_count';+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_error_count | 64 | +-----------------+-------+ 1 row in set (0.00 sec) mysql>SET max_error_count=1;Query OK, 0 rows affected (0.00 sec) mysql>ALTER TABLE t1 MODIFY b CHAR;Query OK, 3 rows affected, 3 warnings (0.00 sec) Records: 3 Duplicates: 0 Warnings: 3 mysql>SELECT @@warning_count;+-----------------+ | @@warning_count | +-----------------+ | 3 | +-----------------+ 1 row in set (0.01 sec) mysql>SHOW WARNINGS;+---------+------+----------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------+ | Warning | 1263 | Data truncated for column 'b' at row 1 | +---------+------+----------------------------------------+ 1 row in set (0.00 sec)
          警告を無効にするには、max_error_count
          を 0
          に設定してください。この場合、warning_count
          はいくつの警告が起きたか指示しますが、どのメッセージも格納はされません。
        
          sql_notes
          セッション変数を 0
          に設定して、記録されない
          Note
          レベルの警告を発生させることができます。
        

