#mysql #foreign-keys
Вопрос:
можем ли мы создать несколько внешних ключей из одной таблицы?
create table Product( pid varchar(3)primary key, pname varchar(20)not null, unitprice int not null, stockinhand int not null ); create table NewArrivals( pid varchar(3) primary key, pname varchar(20)not null, unitprice int not null, qty int not null, launchdate date not null, status varchar(5) not null default "NEW", foreign key(pid, pname, unitprice) references Product(pid, pname,unitprice)on update cascade on delete cascade );
Мне нужны pid, pname и unitprice из таблицы продуктов, но я получил следующую ошибку:
ОШИБКА 1822 (HY000): Не удалось добавить ограничение внешнего ключа. Отсутствует индекс ограничения «newarrivals_ibfk_1» в таблице «продукт», на которую ссылается ссылка
Комментарии:
1. Выражение, на которое вы ссылаетесь, должно быть уникальным выражением индекса. Создайте соответствующий индекс в
Product
.