CREATE table dbo.PRODUCTS(
[Product ID] int not null,
[Product name] varchar(20) not null,
[Min price] decimal(10,2) not null,
[Artist ID] varchar(20)not null,
[genre] varchar(20)not null,
primary key ([Product ID]),
constraint ARTIST FOREIGN KEY ([Artist ID])
REFERENCES ARTISTS ([Artist email]),
)
CREATE table dbo.ORDERS_DETAILS(
[Purchase number] int not null,
[Product ID] int not null,
[Total price] decimal(10,2) not null,
primary key ([Purchase number],[Product ID]),
constraint DF_PRODUCT FOREIGN KEY ([Product ID])
****REFERENCES PRODUCTS ([Product ID]),****
constraint fk_PURCHASE FOREIGN KEY ([Purchase number])
REFERENCES PURCHASES ([Purchase number]),
)
l'erreur:Je ne comprends pas pourquoi la contrainte de clé étrangère ne fonctionne pas sur ID produit
Foreign key 'DF_PRODUCT' references invalid column 'Product ID' in referenced table 'PRODUCTS'.
Quelqu'un peut-il me aider à comprendre pourquoi cela renvoie cette erreur? Il ne reconnaît pas la colonne d'ID de produit de la table de produit même si la table a été créée correctement et fonctionne.
Essayez de supprimer la virgule de fin avant la parenthèse fermante. J'ai créé les deux tableaux très bien. –
Veuillez indiquer le code exact que vous avez réellement exécuté. Veuillez activer autant de rapports d'erreurs que possible. Veuillez lire et agir sur [mcve]. – philipxy
@WEI_DBA La virgule de fin n'est pas pertinente, elle est acceptable dans T-SQL et se trouve souvent dans le code généré. @Maya J'ai aussi créé les deux tables, je suppose que vous pouvez avoir une autre table appelée 'PRODUCTS' avec un schéma différent de' dbo.PRODUCTS'. Essayez 'REFERENCES dbo.PRODUCTS ([Product ID]),' à la place. – pcdev