使用外键创建表会显示错误 Can't create table errno: 150constraint is invalidly Formed

问题描述 投票:0回答:1
create table products
(
    productID INT PRIMARY KEY,
    product_code VARCHAR(255),
    name VARCHAR(255),
    quantity INT,
    price INT,
    supplierID INT,
    FOREIGN KEY(supplierID) REFERENCES suppliers(suplierID)
);

Can't create table `mystore`.`products` (errno: 150 "Foreign key constraint is incorrectly formed")

CREATE TABLE `suppliers` (
  `supplierID` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `address` varchar(255) DEFAULT NULL,
  `phone` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`supplierID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci |
mysql xampp foreign-keys
1个回答
0
投票

这是因为您尝试引用的 Key 字段不是同一类型。检查外键列和引用列的类型或长度是否相同。

根据您的情况,请检查两个表中

suplierID
的类型。

© www.soinside.com 2019 - 2024. All rights reserved.