JUNのブログ

JUNのブログ

活動記録や技術メモ

MySQLで突然出てきたエラー"Data too long for column 'hogehoge' at row 1"" を直す

追記

---

本来ははこっちの直し方でいけます

 

MySQLを使っている時に、ファイルへのパスが100文字超えるとエラーが起きるが、それは*FileField*の*max_length*を指定すれば直る [Django - Increase FileField length](https://stackoverflow.com/questions/26575635/django-increase-filefield-length)<br>

でも、この記事の内容はわしがちょくちょく見返すので残しておく

 

環境

Djangoのデータベースを sqlite3 から MySQL に移行したら起きた問題。

Data too long for column 'hogehoge' at row 1

これはなんなのかというと、「桁数あふれてるよー」ってMySQLが言ってる。
で、なんでこんなことになっているかというと、MySQLのデフォルトの設定がオーバーフローしたらエラーを返すようになっているから。だからそれを変更すればいい。

これの直し方は

$ sudo vim /etc/mysql/my.cnf

my.cnfの [mysqld] にこれを書き加える

[mysqld]
sql_mode=''

あとは再起動すれば

$ sudo /etc/init.d/mysql restart

これで直りました。