删除关联表(完美解决方案)
发布时间:2020-12-13 18:00:42 所属栏目:百科 来源:网络整理
导读:以下以postgresql数据库为例子,说明如何删除关联的表数据. 如果有人删除了一个订单,那么订单项也被删除。( 关键:级联 ) CREATE TABLE orders ( order_id integer PRIMARY KEY,shipping_address text,...);CREATE TABLE order_items ( product_no intege
以下以postgresql数据库为例子,说明如何删除关联的表数据. 如果有人删除了一个订单,那么订单项也被删除。(
关键:级联)
CREATE TABLE orders ( order_id integer PRIMARY KEY,shipping_address text,... ); CREATE TABLE order_items ( product_no integer REFERENCES products order_id integer REFERENCES orders ON DELETE CASCADE,quantity integer,PRIMARY KEY (product_no,order_id) );注意上面黑体字. 下面写sql语句: delete from orders where order_id in (select order_id from order_items); 最后查看数据库: 结果删除orders 表记录的同时order_items记录也被删除掉. OK,解决了. 当然还有其他很多方法可以做到,比如说: 存储过程,触发器之类的 也可以做到删除关联表 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |