こなさんち

しがないフリーランスエンジニアの備忘録。

外部キーの張り方 @laravel , mysql

こんばんは。 今年も今日で最後です。

さて、 laravelのmigrationで外部キーを貼る時は

$table->foreign('pref_id')->references('id')->on('prefs');

とするのですが…

SQLSTATE[HY000]: General error: 1005 Can't create table 'dbname.tablename' (errno: 150) (SQL: alter table `*****` add constraint `*****_foreign` foreign key (`pref_id`) references `prefs` (`id`))  

とエラーがでたのですね。 なんでやと。

結局のところ、考えれば分かるのですが、 参照元と参照先のデータの「桁数」の違いでした。

ただ、laravelのmigrationでは、integerの桁数を意図的に設定できないんですよね。 設定方法を知らなかっただけなのですが。

教えてくだちい。

ちなみに今日参考にしたサイトは以下です。ありがとうございました。 皆様良いお年を。

qiita.com