第18回 MySQL5.
ということで,
SQLモードの使い方
ここでは,
現在のSQLモードを確認する
第18回でも軽く紹介しましたが,
$ mysql -uroot mysql > SELECT @@global.sql_mode; +-------------------------------------------------------------------------------------------------------------------------------------------+ | @@global.sql_mode | +-------------------------------------------------------------------------------------------------------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------------------------------------------------------+
また,
mysql> SELECT @@session.sql_mode; +-------------------------------------------------------------------------------------------------------------------------------------------+ | @@session.sql_mode | +-------------------------------------------------------------------------------------------------------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------------------------------------------------------+
今回はまだ何も変更を加えていないため,
SQLモードを設定する
SQLモードの設定方法ですが,my.
を設定する方法と,--sql-mode
オプションを指定する方法と,
my.
を利用する際には,
接続しているクライアントで設定をしたい場合には,SET
ステートメントで設定をしましょう。接続しているセッションだけで設定を変更したい場合はSET SESSION
を使って,SET GLOBAL
を使いましょう。
mysql> SET SESSION sql_mode=''; mysql> SELECT @@session.sql_mode; +--------------------+ | @@session.sql_mode | +--------------------+ | | +--------------------+ 1 row in set (0.00 sec) mysql> SET GLOBAL sql_mode=''; Query OK, 0 rows affected (0.01 sec) mysql> SELECT @@global.sql_mode; +-------------------+ | @@global.sql_mode | +-------------------+ | | +-------------------+ 1 row in set (0.00 sec)
SET GLOBAL
ステートメントを利用して設定した場合の注意点としては,my.
の有効な場所に記述しておきましょう。
MySQL5. 7のデフォルトで設定されているSQLモードについて
MySQL5.ONLY_
, STRICT_
, NO_
, NO_
, ERROR_
, NO_
, NO_
7個のSQLモードがデフォルトで設定されました。これらのSQLモードに関しては,