내가 내 Laravel 마이그레이션 :(에 문제가 laravel 마이그레이션와 외래 키를 만들 수 없습니다.는</p> <p>내가 PHP는 장인 마이그레이션을 실행하는거야, 그것은 외래 키에 중지
먼저 마이그레이션
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::enableForeignKeyConstraints();
Schema::create('fichefrais', function (Blueprint $table) {
$table->char('idVisiteur', 4);
$table->foreign('idVisiteur')->references('id')->on('visiteur');
$table->char('mois',6);
$table->primary(['idVisiteur', 'mois']);
$table->integer('nbJustificatifs');
$table->decimal('montantValide', 10, 2);
$table->date('dateModif');
$table->char('idEtat', 2);
$table->foreign('idEtat')->references('id')->on('etat');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('fichefrais');
}
명령을 실행 한 후 두 번째
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::enableForeignKeyConstraints();
Schema::create('lignefraishorsforfait', function (Blueprint $table) {
$table->integer('id');
$table->primary('id');
$table->char('idVisiteur', 4);
$table->char('mois',6);
$table->foreign('idVisiteur')->references('idVisiteur')->on('fichefrais');
$table->foreign('mois')->references('mois')->on('fichefrais');
$table->char('libelle', 100);
$table->date('date');
$table->decimal('montant', 10, 2);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('lignefraishorsforfait');
}
,이 오류가 발생했습니다 :
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table gsb_larave.#sql-176_b9 (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table lignefraishors forfait add constraint lignefraishorsforfait_mois_foreign foreign key (mois) references fichefrais (mois) on delete cascade on update cascade)[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table gsb_laravel.#sql-176_b9 (errno: 150 "Foreign key constraint is incorrectly formed")
문제 어쩌면에 고유 제한와 열이어야 'fichefrais'에 기본 키를 넣었고 당신은'lignefraishorsforfait'에 두 개의 다른 FK에서 참조하고 있습니다. 어쩌면'$ table-> foreign (array ('idVisiteur', 'mois') -> 참조 (array ('idVisiteur', 'mois') -> on ('fichefrais')) ' –
나는 그것이 그래서, 당신의 솔루션을 시도하고 여전히 동일한 오류가 있습니다. phpmyadmin 함께 외래 키를 만들려고 할 때 열 형식에 대해 오류 회담하지만 그것은 동일합니다 – Benjamin