たかおLab

【Laravel】マイグレーションでエラー:SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value

PHP データベース プログラミング
Laradockのロゴ画像

SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value というエラーに遭遇したので、その対処法のメモ。

 

 

 

エラー内容

 

php artisan migrateをしたら、以下のようなエラーに遭遇しました。

 

 

 

で、migrateした内容が以下。

 

 

Invalid default value for ‘fav’ と言われているので、「favのデフォルト値が無効だよ」ってことかな?

 

 

その下のPDO::prepareも読んでみると、

 

 

なぜか、「price」「fee」「fav」がauto_increment primary keyになってる。

 

 

解決策

 

で、色々と調べてみたら以下の記事を発見。

 

SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be defined as a key

 

Integerなどに対して長さを指定したい時は、第2引数で長さの指定をせずに、->length()で指定するといいらしいです。