Ao criar uma chave estrangeira, os tipos de dados devem corresponder aos da chave primária. Altere o
PrimaryContact
campo no Customer
tabela para corresponder ao tipo de dados de PersonId
, neste caso, 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
);
As colunas devem ser do mesmo tipo visto na página de manual intitulada Usando restrições FOREIGN KEY :