データの存在有無を確かめてINSERTする
PostgreSQL で「対象のデータが存在しない場合のみINSERTする(既にデータが存在する場合にINSERTしない)」SQLのメモ。
BEGIN; INSERT INTO test.t1 (id, name) SELECT 1, 'aaa' WHERE NOT EXISTS (SELECT id FROM test.t1 WHERE id = 1); COMMIT;
上記のように NOT EXISTS を使えば簡単にできるようです。
SQL は断片的な知識しかないせいでいつも簡単なことでも苦労します・・・勉強しないといけませんね。