メモ: PostgreSQLでは宣言的パーティショニングをしたテーブルを参照する外部キー制約が書ける。
CREATE TABLE foo (
id int PRIMARY KEY
) PARTITION BY RANGE (id);
CREATE TABLE foo_100 PARTITION OF foo FOR VALUES FROM (0) TO (100);
CREATE TABLE bar (
id int PRIMARY KEY,
foo_id int NOT NULL REFERENCES foo
);
INSERT INTO foo (id) VALUES (0);
INSERT INTO bar (id, foo_id) VALUES (0, 0); -- 制約を満たすので挿入できる。
INSERT INTO bar (id, foo_id) VALUES (1, 1); -- エラーとなる。
MySQLでは書けないはず。
https://dev.mysql.com/doc/refman/9.6/en/partitioning-limitations-storage-engines.html
- replies
- 0
- announces
- 0
- likes
- 0