h2 数据库 3 table 在一次查询中删除
h2 database 3 table delete in one query
我有 3 个 tables:-
customer(customer_id)
sales(sales_id, customer_id)
salesdetails(salesdetails_id, sales_id)
如何在一个查询中删除客户以及另外 2 个相关的 table 数据?
我卡在这里了:-
DELETE FROM customer, sales, salesdetails
USING customer, sales, salesdetails
WHERE customer.customer_id = sales.customer_id
AND sales.sales_id = salesdetails.sales_id
AND customer.customer_id = 'C0001';
注意:我正在使用 h2 数据库并且是新手。
创建 table 时添加删除方法 'cascade'。
示例:
客户:
CREATE TABLE customer(
customer_id integer primary key auto_increment
);
销售额:
CREATE TABLE sales(
sales_id integer primary key auto_increment,
FOREIGN KEY (customer_id) REFERENCES customer(id)
ON DELETE CASCADE
);
这样,当您删除一个客户时,所有相关的销售也会被删除。
我有 3 个 tables:-
customer(customer_id)
sales(sales_id, customer_id)
salesdetails(salesdetails_id, sales_id)
如何在一个查询中删除客户以及另外 2 个相关的 table 数据?
我卡在这里了:-
DELETE FROM customer, sales, salesdetails
USING customer, sales, salesdetails
WHERE customer.customer_id = sales.customer_id
AND sales.sales_id = salesdetails.sales_id
AND customer.customer_id = 'C0001';
注意:我正在使用 h2 数据库并且是新手。
创建 table 时添加删除方法 'cascade'。 示例:
客户:
CREATE TABLE customer(
customer_id integer primary key auto_increment
);
销售额:
CREATE TABLE sales(
sales_id integer primary key auto_increment,
FOREIGN KEY (customer_id) REFERENCES customer(id)
ON DELETE CASCADE
);
这样,当您删除一个客户时,所有相关的销售也会被删除。