ошибка внешнего ключа и первичного ключа - PullRequest
0 голосов
/ 23 октября 2009

согласно нашему последнему обсуждению, касающемуся дубликата счета №. и вы предложили код вроде:

create table Invoice
(
    companyID int,
    invno varchar(50),
    primary key (companyID,Invno)
)

работал нормально.

но другая таблица инкаратов тоже имеет поле типа:

companyID(int)          invno(varchar)
------------------------------------------------------

теперь мне нужно создать внешний ключ для invcarat (invno), но при создании внешнего ключа произошла ошибка, что «первичный ключ в счете-фактуре справочной таблицы не существует» пока я создал первичный ключ на счете, как указано выше.

любезно ответьте, как создать связь между двумя таблицами.

заранее спасибо.

1 Ответ

2 голосов
/ 23 октября 2009

Внешний ключ должен быть на invcarat (companyID, invno) и должен ссылаться на invoice (companyID, invno). Сам столбец invno не является первичным ключом, поэтому его нельзя использовать в качестве цели внешнего ключа. Вы можете создать уникальный ключ для него, но вы можете просто изменить первичный ключ.

...