Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL грешка 1005?

Когато създавате външен ключ, типовете данни трябва да съвпадат с тези на първичния ключ. Променете 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 :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php връзка с единична база данни, лоша практика ли е този код?

  2. Научете основни SQL заявки с помощта на MySQL

  3. SYSDATE() срещу NOW() в MySQL:Каква е разликата?

  4. MySQL - UPDATE заявка с оператор SET в зависимост от резултата от предишния оператор SET

  5. Необходимо ли е да се пише ROLLBACK, ако заявките не успеят?