Ich verwende MySQL und zu dem Zeitpunkt, an dem ich darauf verweisen möchte, wird mir dieser Fehler angezeigt:
Die Spalten sind genau gleich, aber es besteht darauf, dass sie nicht kompatibel sind.
CREATE TABLE PRODUCT(
product_name VARCHAR(255) COMMENT 'Product name',
related_words VARCHAR(255) COMMENT 'Words related to the product',
cost FLOAT(5) COMMENT 'Product cost',
live int(1) COMMENT 'item visibility',
measure VARCHAR(100) COMMENT 'measure of the product',
imageURL VARCHAR(200) COMMENT 'image that holds the product',
primary key (product_name, measure)
) DEFAULT CHARSET UTF8 COMMENT '';
CREATE TABLE ORDERS_PRODUCTS(
product_name VARCHAR(255),
OrderNo int(10),
FOREIGN KEY (product_name) REFERENCES PRODUCT(product_name),
PRIMARY KEY (product_name, OrderNo)
)
Lösung des Problems
Das liegt daran, dass Sie einen zusammengesetzten Primärschlüssel erstellen. Ihr Primärschlüssel ist eine Zusammensetzung aus product_name und measure.
Wie ich in meinem Kommentar sage, erstellen Sie im Allgemeinen eine numerische ID für jede Tabelle und verwenden sie als Primärschlüssel und später als Fremdschlüssel.
Keine Kommentare:
Kommentar veröffentlichen