Здравствуйте
Подскажите можно ли использовать Foreign key для поля с типом string
Имеется таблица со списком стран, в качестве первичного ключа использую string:
Schema::create('countries', function (Blueprint $table) {
$table->string('id', 3)->unique()->index();
$table->string('name', 100);
$table->string('ru_name', 100);
$table->string('flag', 10)->unique();
$table->primary('id');
});
Пытаюсь связать таблицу пользователей со странами и просиживать Foreign key для поля country_id:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name', 40);
$table->string('last_name', 40);
$table->string('username', 40)->unique()->index();
$table->string('email')->unique();
$table->string('password');
$table->string('country_id')->index();
$table->foreign('country_id')->references('id')->on('countries');
$table->string('user_photo')->nullable();
$table->string('user_group')->index();
$table->rememberToken();
$table->timestamps();
});
Пытаюсь выполнить миграцию и получаю вот такую вот ошибку
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `users` add constraint `users_country_id_foreign` foreign key (`country_id`
) references `countries` (`id`))