MySQL Windowsでsql_mode設定が変更できない
sql_modeを変更するために、Mysqlのインストールディレクトリにあるmy.iniを変更しましたが、データベースに反映されませんでした。それは、my.iniが別の場所にもあったためでした。
そのときのことをメモしておきます。
1.MysqlのインストールディレクトリにあるMySQL SERVER5.7/my.iniを変更しました。
下の1行をコメントアウトしました。
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
2.もう一つのmy.iniを変更しました。
もう一つのmy.iniの場所は、php.iniのdatadirの一つ上の階層にあるにあるMySQL Server 5.7\my.iniです。
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Mysqlのインストールディレクトリが、WindowsのProgramDataやProgramFileの場合は、管理者権限でファイルを編集する必要があります。
3.コマンドプロンプトから確認します。
select @@GLOBAL.sql_mode;
下の結果が表示されました。
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
4.メモ
sqlは、「@@GLOBAL.sql_mode」でsql_(アンダーバー)modeですが、
iniファイルには、「sql-mode」でsql-(ハイフン)modeでした。
5.参考
MySQL :: MySQL 5.6 リファレンスマニュアル :: 5.1.7 サーバー SQL モード