DELETE文でまとめて親と子を削除する方法
子は親の道連れになるように定義する。
$ psql
> create table parent(id int primary key, value text);
> create table child(parentId int REFERENCES parent(id) ON DELETE CASCADE, value text);
> insert into parent values (1, 'aa'), (2, 'bb');
> insert into child values (1, 'xx'), (1, 'yy'), (2, 'zz');
> select * from parent;
id | value
----+-------
1 | aa
2 | bb
(2 rows)
> select * from child;
parentid | value
----------+-------
1 | xx
1 | yy
2 | zz
(3 rows)
> delete from parent where id = 2;
> select * from parent;
id | value
----+-------
1 | aa
(1 row)
> select * from child;
parentid | value
----------+-------
1 | xx
1 | yy
(2 rows)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/12 04:23