ここではMySQLで、SQLモードの確認と設定方法を紹介しています。
SQLモードの確認と設定方法
SQLモードを確認する方法
SQLモードはグローバル変数sql_modeで確認することが出来ます。
グローバル変数sql_modeの中身は次のSQLで確認することが出来ます。
SELECT @@GLOBAL.sql_mode;
実際に試すと次んのような結果が返ってきます。
mysql> SELECT @@GLOBAL.sql_mode;
+----------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
SQLモードを設定する方法
SQLモードを変更するには、SET文を使います。
SET GLOBAL sql_mode = '設定したいSQLモード';
ただし、SQLモードは設定ファイルで指定されているので、再起動されると元に戻ってしまいます。
永続的に設定したい場合は「my.cnf」または「my.ini」設定ファイルを書き換えて再起動させます。
設定ファイルには次のように指定がされています。
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"