Когато създавате външен ключ, типовете данни трябва да съвпадат с тези на първичния ключ. Променете PrimaryContact
полето в Customer
таблица, за да съответства на типа данни на PersonId
, в този случай int
:
CREATE TABLE Customer
(
CustomerID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(CustomerID),
CustomerCode VARCHAR(255),
CustomerType VARCHAR(255),
PrimaryContact int,
FOREIGN KEY `fk_Customer_to_Person` (PrimaryContact) REFERENCES Person(PersonID),
CustomerName VARCHAR(255),
CustomerAirlineMiles FLOAT NOT NULL
);
Колоните трябва да са от същия тип, както се вижда в страницата с ръководството, озаглавена Използване на ограничения на FOREIGN KEY :