Внешний ключ ссылается на неверную таблицу.Не удалось создать ограничение или индекс - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь создать таблицу с 3 столбцами.Первый столбец должен быть столбцом идентификатора с именем DescribID, второй столбец должен быть столбцом внешнего ключа с именем ProductID, а третий столбец должен быть столбцом xml с именем Description.Но я получаю сообщение об ошибке:

Внешний ключ 'FK_ProductDescription_bacb18ce3aa67348e55d' ссылается на недопустимую таблицу 'Product' и «Не удалось создать ограничение или индекс. См. Предыдущие ошибки».

Вот что я получил:

CREATE TABLE ProductDescriptions (DescriptionsID int PRIMARY KEY NOT NULL,

ProductID varchar(25) NOT NULL,

FOREIGN KEY (ProductID) REFERENCES Product(ProductID),

Description text NULL) ;

Ссылки Product (ProductID) имеет ошибку / красный подчеркивание

1 Ответ

0 голосов
/ 26 ноября 2018

Когда вы создаете референтное ограничение, вам необходимо убедиться, что таблица и столбец, на который вы ссылаетесь, уже существуют в базе данных.

Кроме того, тип данных как ссылающегося столбца, так и ссылочного столбца долженБудьте такими же

Column 'Product.ProductId' is not the same data type as referencing column
'ProductDescriptions.ProductID' in the foreign key

Поэтому сначала создайте таблицу продуктов и установите идентификатор продукта в качестве первичного ключа

CREATE TABLE Product
(
    ProductId INT IDENTITY(1,1) PRIMARY KEY,
    ProductName VARCHAR(50)
)

CREATE TABLE ProductDescriptions 
(
    DescriptionsID int PRIMARY KEY NOT NULL,
    ProductID INT NOT NULL 
    ,FOREIGN KEY (ProductID) REFERENCES Product(ProductID),
    [Description] text NULL
) ;
...