ラブラドールレトリバー「忠太の心の声」

黒ラブ忠太と忠太パパのブログ。
最近は仕事の備忘録としてのエントリーが多いです。

MySQL5.6 my.cnf どこにある?

2015-03-09 | Web・PC
CentOS6.6 にて MySQL5.6 を設定しています。
SQLのINSERTでなにやらエラーが発生。#1364 - Field 'hogehoge' doesn't have a default value

ググって分かったことは
「Null を入れてはいけないところに、Null を入れた」です。

このブログ等参考にさせていただきました。
http://www.seeds-std.co.jp/seedsblog/1035.html

実行したSQLにはINSERTで何も入れてない項目があります。
でも、これができないと私は困ります。

sql_mode の「STRICT_TRANS_TABLES」を消せば良いことが分かりました。
「SET @@GLOBAL.sql_mode='';」をSQLで実行すれば設定可能です。

しかし、MySQLを再起動してしまうと、また戻ってしまいます。
そこで、「my.cnf」に設定して、起動時に実行されるようにすれば良いとのこと。

で、「/etc/my.cnf」にあると・・・・ん?
ないです。

試しにこのここに書き込んで見ましたがダメです。
違うところに設定があるようです。

さらにググると、こちらのブログを発見
http://oranie.hatenablog.com/entry/20130402/1364906656

「usr/my.cnf」って書いてありました。

開いてみたらありました。そこでsql_modeを変えます
「sql_mode=NO_ENGINE_SUBSTITUTION」

「STRICT_TRANS_TABLES」だけ削除してみました。
これで再起動してもsql_modeは保持されるようになりました。

※Linuxはあまり詳しくないので、間違っていたらご指摘頂けると幸いです。。


最新の画像もっと見る

コメントを投稿