MariaDBのSQLモードとは、なんか挙動を厳格にするかどうかの設定のこと
MariaDB [unko]> SELECT @@sql_mode; +-------------------------------------------------------------------------------------------+ | @@sql_mode | +-------------------------------------------------------------------------------------------+ | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------+ 1 row in set (0.000 sec)
STRICT_TRANS_TABLES
テーブルへのINSERT時、不正な値(NULL禁止にNULLや 長い文字列など)をエラーにする。
無効にすると、切り詰めたり警告で済ませたりして、エラーにはしない
ERROR_FOR_DIVISION_BY_ZERO
SELECT 1/0; をエラーにする。
無効にすると、警告どまり
NO_AUTO_CREATE_USER
GRANT文で存在しないユーザを指定したとき、自動でユーザを作らずエラーにする。
無効にすると、勝手にユーザを作ったりする(昔のMySQLの挙動)