私は現在、Windows 10でmysqlサーバー5.6を使用しています。mysqlを使用しているときに、「次の列にデフォルト値がありません」というようなエラーが表示され続けます。 sql_mode。現在は
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
これは、「mysql server 5.6」フォルダーの「my-default.ini」ファイルから取得しました。sql_modeを永続的に変更したい場合は、「my-default.ini」ファイルを使用して行う必要があるという他のいくつかの回答を読みました。だから私がしたことは、メモ帳を管理者として実行し、ブラウズして「my-default.ini」ファイルを開きました。
c:\programs files (x86)\mysql\mysql server 5.6\my-default.ini
ファイルを開いたときに、最後の行を変更しました。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
に
sql_mode=
次に、ファイルを保存して閉じました。次に、タスク マネージャーを使用して、SQL サーバーを再起動しました。
task manager >> services >> mysql56
これは、sql_mode を永続的に変更するプロセス全体です。「my-default.ini」ファイルを見ると、最後の行がまだ変更されています。しかし、コマンド ラインから mysql にログインし、次のコードで sql_mode を表示すると:
select @@sql_mode;
私のsql_modeは
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
エラーが消えるように、これらすべてを (永久に) 削除したいと思います。次を使用して、コマンドラインから sql_mode を変更しようとした場合:
set @@global.sql_mode="";
うまくいきましたが、MySQL を再起動すると、すべてが以前の状態に戻りました。
誰かが私が間違っていることを教えてもらえますか? この問題を解決する別の方法がある場合。