У меня есть таблица с именем User, которая содержит user_id в качестве первичного ключа. У меня есть другие таблицы, такие как Doctor, Patient, Staff ... et c, которые содержат вызванный столбец, который ссылается на user_id пользовательской таблицы.
Вот моя проблема: я не могу использовать одно и то же имя ограничения в разных таблицах, например
ALTER TABLE `emr@default`.`staff`
ADD CONSTRAINT `FK_created_by`
FOREIGN KEY (`created_by`)
REFERENCES `emr@default`.`users` (`user_id`)
ON DELETE CASCADE;
успешно создается
при попытке использовать другую таблицу
ALTER TABLE `emr@default`.patient
ADD CONSTRAINT `FK_created_by`
FOREIGN KEY (`created_by`)
REFERENCES `emr@default`.`users` (`user_id`)
ON DELETE CASCADE;
ошибка генерации Код ошибки: 1022. Не могу написать; дубликат ключа в таблице '# sql -1_7a64'
, если я попытаюсь
ALTER TABLE `emr@default`.patient
ADD CONSTRAINT `FK_created_by1`
FOREIGN KEY (`created_by`)
REFERENCES `emr@default`.`users` (`user_id`)
ON DELETE CASCADE;
создает fk
, я сомневаюсь, что мы можем использовать то же ограничение name.if я не могу создать другое имя ограничения, которое ни на что не повлияет