USE sales;
CREATE TABLE sales
(
purchase_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
date_of_purchase DATE,
customer_id INT,
idem_code VARCHAR(10)
);
CREATE TABLE customers
(
customer_id INT,
first_name VARCHAR(255),
last_name VARCHAR(255),
email_address VARCHAR(255),
number_of_customer INT
);
ALTER TABLE sales
ADD FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ON DELETE CASCADE;
我是一个完全的SQL初学者。我在1215遇到了SQL错误,并尝试了各种方法来修复它,但都无济于事。请帮忙。
非常感谢。
外键约束必须引用某个UNIQUE
。
在您的customers表中,customer_id
是一个简单的INT
,没有强制执行唯一性。
我强烈建议您将表格客户定义更改为:
CREATE TABLE customers
(
customer_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, -- <---- Check this line
first_name VARCHAR(255),
last_name VARCHAR(255),
email_address VARCHAR(255),
number_of_customer INT
);
INT NOT NULL PRIMARY KEY AUTO_INCREMENT
是在MySQL中编写INT主键的常用方法,与表sales
中的方法相同。您可以使用BIGINT
而不是INT