Laravel을 처음 사용했습니다. 이전에
users
테이블을 만들었습니다. employment
테이블이 마이그레이션에서 생성되었습니다. 다음 이주로 나는 users
표를 job_id
에 붙이면 employment
표에 users
표를 추가한다. 마이그레이션을 실행하면 위의 오류가 발생합니다.(errno : 150 "외래 키 제약 조건이 잘못 형성되었습니다")
참고 : job_id
을 employment
테이블에 넣고 users
테이블을 job_id
으로 지정해야합니다. soumya이 내 데이터베이스 이름입니다.
외래 키 제약 조건없이 마이 그 레이션을 실행하면 완벽하게 작동합니다.
Migations : 고용 테이블
public function up()
{
Schema::create('employment', function (Blueprint $table) {
$table->increments('job_id');
$table->string('job_title');
$table->string('job_description')->nullable()->default(NULL);
$table->string('slug')->unique();
$table->timestamps();
});
}
public function down()
{
Schema::drop('employment');
}
마이그레이션 변경 users
테이블
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->integer('job_id')->after('deleted');
$table->foreign('job_id')->references('job_id')->on('employment');
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropForeign('users_job_id_foreign');
$table->dropColumn('job_id');
});
}
오류가 순수도 laravel, https://stackoverflow.com/search?q=Foreign+key+constraint+is+incorrectly+formed를 PHP로하지, MySQL의 관련이있다, 당신은 MySQL의에 오류 원인을 도착 했더 PHP 측면에서 편집하면 케이크의 평화가 될 것입니다. – hassan
[Migration : laravel에서 외래 키 제약 조건을 추가 할 수 없음]의 가능한 복제본 (https://stackoverflow.com/questions/22615926/migration-cannot-add-foreign-key-constraint-in-laravel) – hassan
이 ' – Maraboc