1
我完全不熟悉编写SQL代码,我试图运行一个简单的表创建,但是我找不到编程中的错误,而且我是全新的,我正在挣扎与此创作。SQL-无法添加外键约束
这是一个我正在努力的学校项目,希望任何人都可以提供帮助。
我在“SQLFiddle”接收的错误是在下面的代码“无法添加外键约束”:
CREATE TABLE invoice(
invoice_id INT NOT NULL,
customer_id INT NOT NULL,
order_date DATE NULL,
spec_order_note VARCHAR(45) NULL,
PRIMARY KEY(invoice_id, customer_id),
FOREIGN KEY (customer_id)
REFERENCES customer.customer_id
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE line_item (
invoice_id INT NOT NULL,
donut_id INT NOT NULL,
quantity INT NULL
CONSTRAINT donut_invoice
FOREIGN KEY invoice_id
REFERENCES invoice.invoice_id
ON DELETE RESTRICT
ON UPDATE RESTRICT
)
CREATE TABLE donut (
donut_id INT NOT NULL,
donut_name VARCHAR(15) NULL,
description VARCHAR(30) NULL,
unit_price INT NULL
PRIMARY KEY(donut_id),
)
CREATE TABLE customer (
customer_id INT NOT NULL,
last_name VARCHAR(15) NULL,
first_name VARCHAR(10) NULL,
street_add VARCHAR(20) NULL,
apt_num INT NULL,
city VARCHAR(20) NULL,
state VARCHAR(15) NULL,
zip_code INT NULL,
home_phone VARCHAR(10) NULL,
mobile_phone VARCHAR(10) NULL,
other_phone VARCHAR(10) NULL,
customer_notes VARCHAR(45) NULL
PRIMARY KEY(customer_id),
)
任何帮助是极大的赞赏。
您可能需要创建'customer'表您尝试引用它'invoice'的外键之前。 –
[使用两个外键作为主键--MySQL](http://stackoverflow.com/questions/23488238/using-two-foreign-keys-as-a-primary-key-mysql) - 虽然标题表明这些是不同的,问题的原因和解决方案是相同的。 – Air