0
私は2つのテーブル "シアター"と "キューリスト"を持っています。 「劇場」テーブルは既に作成されています。 「キュベリスト」テーブルでは、「エリア」と「stn」をテーブル「劇場」の外部キーとして作成しました。しかし、私は外来キーの制約が間違って形成されるというエラーが発生します。しかし、私はエラーを理解することができませんでした。外部キー制約が正しくありません - Laravel
Schema::create('theaters', function (Blueprint $table) {
$table->string('theater_name');
$table->string('area_name');
$table->string('station');
$table->primary(array('theater_name','area_name','station'));
$table->text('address');
$table->bigInteger('phno');
$table->string('contact_person');
});
Schema::create('cubelists', function (Blueprint $table) {
$table->string('mvie_name');
$table->foreign('mvie_name')->references('movie_name')->on('movies');
$table->string('thtr_name');
$table->foreign('thtr_name')->references('theater_name')-
>on('theaters');
$table->string('area');
$table->foreign('area')->references('area_name')->on('theaters');
$table->string('stn');
$table->foreign('stn')->references('station')->on('theaters');
$table->primary(array('mvie_name','thtr_name','area','stn'));
$table->string('type');
$table->string('subtype');
$table->date('validity');
$table->string('show');
});
エラーが候補キーを参照する必要があります
C:\xampp\htdocs\boras>php artisan migrate
Migration table created successfully.
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table `boras_cachii`.`#sql-a10_
5a` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table
`cubelists` add constraint cubelists_area_foreign foreign key (`area`) reference
s `theaters` (`area_name`))
[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table `boras_cachii`.`#sql-a10_
5a` (errno: 150 "Foreign key constraint is incorrectly formed")
あなたのDBエンジンによっては、構文上、削除時に制約[名前]外部キー([列])参照[テーブル]([othercolumn])を追加する必要があります。しかし、 "on delete/update"の部分は欠落しているようです。私は ' - > onDelete( 'cascade') - > onUpdate( 'cascade')'をあなたの呼び出しに追加して確実に追加する必要があると思います。 –
@NiettheDarkAbsol彼はXAMPPを使用しているのでOPでMariaDBを使用しているはずです – Thamilan
- > onDelete( 'cascade') - > onUpdate( 'cascade')を追加しようとしましたが動作しません – Muthu