2016-08-24 6 views
2

Я создал структуру базы данных с помощью Workbench MySQL. Когда я выполняю форвардный инженер или синхронизирую модель, он отображает некоторые ошибки. Когда я удаляю внешний ключ или подключаю «INT» как внешний ключ ко второй таблице, тогда он работает нормально. Но я хочу использовать «Varchar (255)». Не можем ли мы использовать «Varchar (255)» как внешний ключ? Если да, пожалуйста, помогите мне исправить эту ошибку. Я не могу переслать инженера на этот стол. enter image description hereОшибка в таблице foreignkey

+0

Да, вы можете использовать varchar как внешний ключ. Нет такой константы – Naruto

+0

, где находится ваша другая часть внешнего ключа в таблице 'personal_detail'? вы знаете, вторая колонка? –

+0

@MridulKashyap В таблице регистров "id" является первичным ключом. В таблице personal_details «reg_id» - это foreignkey, но когда я делаю переадресацию, он показывает ошибку. – acmsohail

ответ

3

Да, вы можете использовать varchar как внешний ключ. Уместно добавить уникальный индекс или уникальное ограничение для вашей таблицы. Однако ваш первичный ключ обычно должен иметь какое-то «бессмысленное» значение, например, число с автоматическим добавлением или идентификатор GUID.

+0

Спасибо, что он работает отлично :) – acmsohail