Laravel フレームワークの移行機能を使用して、データベース内に外部キーを作成しています。コードの使用
Schema::table('posts', function($table){
$table->integer('category_id')->unsigned();
$table->foreign('category_id')
->references('id')
->on('categories');
});
MySQL 出力を生成します (からSHOW CREATE TABLE posts
)
`category_id` int(10) unsigned NOT NULL,
KEY `posts_category_id_foreign` (`category_id`),
CONSTRAINT `posts_category_id_foreign` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`)
なぜ Laravel は、外部キーを参照する列でより一般的なインデックスの代わりにKEY
andを使用して新しいインデックスを作成するのですか?CONSTRAINT ... FOREIGN KEY ... REFERENCES ...
FOREIGN KEY ... REFERENCES ...