0
我有一個遷移對我的代碼:不能表像下面laravel錯誤添加外鍵約束
Schema::create('tags', function (Blueprint $table) {
$table->increments('id');
$table->char('tag' , 15);
});
現在,我有我的admin
表,下面的遷移中,我有相關的外鍵我tags
表,遷移如下:
Schema::create('admin', function (Blueprint $table) {
$table->char('tag' , 15);
$table->foreign('tag')->references('tag')->on('tags');
});
現在,當我運行這個遷移我得到以下錯誤:
這兩個表都是innodb
我在laravel的設置中改變了這個。但我仍然無法添加外鍵約束錯誤。爲什麼?
[This SO answer](https://stackoverflow.com/questions/22615926/migration-cannot-add-foreign-key-constraint-in-laravel)解決您的問題。 –
爲什麼不引用id列而不是標籤列本身?無論如何,數據庫是否乾淨?因爲如果通過創建外鍵來發生該錯誤,數據庫會失去它的完整性,所以不能創建fk。 –
@DamianSimonPeter嘗試了這個appraoch ..沒有工作,看到了這個線程! –