删除关联表(完美解决方案)
以下以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,解决了. 当然还有其他很多方法可以做到,比如说: 存储过程,触发器之类的也可以做到删除关联表
浙公网安备 33010602011771号