CentOS LinuxにMysql 5.6をインストールしましたデフォルトでは、SQlモードを厳密に設定しました
SELECT @@GLOBAL.sql_mode; +--------------------------------------------+ | | @@GLOBAL.sql_mode | +--------------------------------------------+ | | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | SELECT @@SESSION.sql_mode; +--------------------------------------------+ | | @@SESSION.sql_mode | +--------------------------------------------+ | | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | +--------------------------------------------+
コマンドライン経由で sql_mode を root ユーザーからコマンド経由で none に変更しました
SET SESSION sql_mode = ''; SET GLOBAL sql_mode = '';
この後、コマンドの上にコマンドを実行したところ、表示されました
SELECT @@SESSION.sql_mode; +--------------------+ | | @@SESSION.sql_mode | +--------------------+ | | | | +--------------------+ セットで 1 行 (0.00 秒) mysql> SELECT @@GLOBAL.sql_mode; +---------------------+ | | @@GLOBAL.sql_mode | +---------------------+ | | | | +---------------------+ セットで 1 行 (0.00 秒)
しかし、Mysql Server を再起動すると、再び Strict Mode を設定します。
SELECT @@GLOBAL.sql_mode; +--------------------------------------------+ | | @@GLOBAL.sql_mode | +--------------------------------------------+ | | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | SELECT @@SESSION.sql_mode; +--------------------------------------------+ | | @@SESSION.sql_mode | +--------------------------------------------+ | | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | +--------------------------------------------+
my.cnf ファイルに mysql-mode="" も追加しましたが、mysql を再起動しても結果は同じでした