Podczas tworzenia klucza obcego typy danych powinny być zgodne z kluczem podstawowym. Zmień PrimaryContact pole w Customer tabela pasująca do typu danych PersonId , w tym przypadku 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
);
Kolumny muszą być tego samego typu, co widać na stronie podręcznika zatytułowanej Korzystanie z ograniczeń dotyczących klucza OBCEGO :