我有一个删除客户的按钮。如果客户被删除,则仅从客户表中删除。但我在客户的表格中有记录,例如付款(添加了所有付款记录)和评论(添加了所有用户评论)。
我在所有表中都有客户ID作为外键。但它的字段名称不同。例如,在customer_details表中,我在id的名称中有客户ID,在其他表中我有lead_id。
我应该写什么样的查询来从所有三个(客户,评论,付款)表中删除客户的记录?
答案 0 :(得分:9)
你应该使用外键的级联属性
例如
FOREIGN KEY (customer_id) REFERENCES customer(id)
ON DELETE CASCADE
答案 1 :(得分:0)
最好先从其他表中删除,然后最后从客户表中删除。但是你可以一次从所有表中删除,使用类似这样的查询:
DELETE FROM tbl_name1 , tbl_name2 ... USING table_references [WHERE where_condition]
希望有所帮助