警告を表示

このステートメントは、現在のクライアント接続で以前に実行されたステートメントに対して発生した警告のリストを表示します。 MySQL と同様に、 sql_modeはどのステートメントがエラーと警告を引き起こすかに大きく影響します。

あらすじ

ShowWarningsStmt:

ShowWarningsStmt

mysql> CREATE TABLE t1 (a INT UNSIGNED); Query OK, 0 rows affected (0.11 sec) mysql> INSERT INTO t1 VALUES (0); Query OK, 1 row affected (0.02 sec) mysql> SELECT 1/a FROM t1; +------+ | 1/a | +------+ | NULL | +------+ 1 row in set, 1 warning (0.00 sec) mysql> SHOW WARNINGS; +---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+ 1 row in set (0.00 sec) mysql> INSERT INTO t1 VALUES (-1); ERROR 1264 (22003): Out of range value for column 'a' at row 1 mysql> SELECT * FROM t1; +------+ | a | +------+ | 0 | +------+ 1 row in set (0.00 sec) mysql> SET sql_mode=''; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO t1 VALUES (-1); Query OK, 1 row affected, 1 warning (0.01 sec) mysql> SHOW WARNINGS; +---------+------+---------------------------+ | Level | Code | Message | +---------+------+---------------------------+ | Warning | 1690 | constant -1 overflows int | +---------+------+---------------------------+ 1 row in set (0.00 sec) mysql> SELECT * FROM t1; +------+ | a | +------+ | 0 | | 0 | +------+ 2 rows in set (0.00 sec)

MySQL の互換性

このステートメントは、MySQL と完全に互換性があると理解されています。互換性の違いは、GitHub で問題を介して報告されたにする必要があります。

こちらもご覧ください