在 DELETE CASCADE 上无法在雪花中工作

On DELETE CASCADE not working in snowflake

我有两个表:

CREATE TABLE category(
    id INTEGER NOT NULL DEFAULT CATEGORY_SEQUENCE.NEXTVAL,
    name VARCHAR(50),
    PRIMARY KEY(id)
);

CREATE TABLE product(
    id INTEGER NOT NULL DEFAULT PRODUCT_SEQUENCE.NEXTVAL,
    name VARCHAR(50),
    id_category INTEGER REFERENCES category(id) ON DELETE CASCADE ON UPDATE CASCADE,
    PRIMARY KEY(id)
);

当我DELETE FROM category时,产品不会被删除。

我做错了什么?

事情是 Snowflake 除了 not null 之外并没有真正服务约束。它会有它们(就像在某处的商店一样)但不会真正强制执行 - 这意味着您的级联将不起作用。

参考: https://docs.snowflake.com/en/sql-reference/constraints-overview.html