Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro 1005 do MySQL?


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 :