示例
示例
CREATE TABLE order_items (
id BIGINT PRIMARY KEY,
order_id BIGINT NOT NULL,
CONSTRAINT fk_order FOREIGN KEY (order_id)
REFERENCES orders (id)
ON DELETE CASCADE
);
-- 删除父行会连带删除明细
DELETE FROM orders WHERE id = 100;| CASCADE | 父行删除时自动删子行(无声、影响范围大) |
|---|---|
| SET NULL | 子行外键列置空(列必须可空) |
| RESTRICT / NO ACTION | 存在子行时阻止删除(默认行为) |
执行删除前先查清引用关系:information_schema.REFERENTIAL_CONSTRAINTS 与 KEY_COLUMN_USAGE 可以列出指向该表的全部外键。