删除级联上的外键约束不起作用postgres

and*_*d-k 4 sql postgresql

当我DELETE FROM users WHERE id='some_id'在beta_keys表上运行记录时,不会被删除。

beta_keys表:

CREATE TABLE beta_keys (
    id serial PRIMARY KEY,
    key VARCHAR(60) UNIQUE NOT NULL,
    created_at TIMESTAMP NOT NULL,
    updated_at TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)

用户表:

CREATE TABLE users (
    id serial PRIMARY KEY,
    email VARCHAR (256) UNIQUE NOT NULL,
    password VARCHAR (60) NOT NULL,
    beta_key_id INTEGER,
    created_at TIMESTAMP NOT NULL,
    updated_at TIMESTAMP,
    CONSTRAINT users_beta_key_id_fkey FOREIGN KEY (beta_key_id)
        REFERENCES beta_keys (id) MATCH SIMPLE
        ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)

Sql*_*Zim 5

users参考beta_keys。delete cascade通过删除引用行(users)时删除引用行(beta_keys)来工作。

sqlfiddle:http ://sqlfiddle.com/#!17/a7495/1