【发布时间】:2017-03-18 18:00:07
【问题描述】:
我在尝试创建“订单”表时收到“错误代码:1215。无法添加外键约束”。
credit_cards 表:
CREATE TABLE credit_cards (
customer VARCHAR(30),
card_no CHAR(16),
PRIMARY KEY (customer, card_no),
FOREIGN KEY (customer) REFERENCES customers(username));
订单表:
CREATE TABLE orders (
order_no INT AUTO_INCREMENT,
customer VARCHAR(30) NOT NULL,
date_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
credit_card CHAR(16) NOT NULL,
PRIMARY KEY (order_no),
FOREIGN KEY (customer)
REFERENCES customers (username),
FOREIGN KEY (credit_card)
REFERENCES credit_cards (card_no));
SHOW ENGINE INNODB STATUS的报告说问题是FOREIGN KEY (credit_card) REFERENCES credit_cards(card_no))
我已经阅读了一堆已解决的问题,但仍然无法弄清楚。我正在使用 MySQL 工作台。谢谢。
【问题讨论】:
-
我不确定,但尝试将 credit_cards 表中的客户列设为 NOT NULL
-
@abdullah 这不是隐含的,因为它在主键中吗?
-
是的,你是对的
标签: mysql sql foreign-keys create-table