5
=> select * from referenced;
referenced_id | name
---------------+-------
1 | one
2 | two
3 | three
和
=> select * from entries;
entry_id | referenced_id | name
----------+---------------+------------------
1 | 3 | references three
其中referenced_id
和entry_id
是主鍵。
我想要一個entries
的插入語句,如果entry_id
已存在或引用的項目不存在,則跳過插入。第一個很容易完成:
INSERT INTO entries
VALUES (1, 2, 'references two')
ON CONFLICT (entry_id) DO NOTHING;
是否有可能檢查這裏的外鍵是否存在?
確實非常好,非常感謝。感謝您澄清關於'ON CONFLICT'條款。 – peterwimsey
這項工作如果插入同一張桌子上,我嘗試引用?所以像'INSERT INTO entries ... JOIN entries'? –
@JuanCarlosOropeza:你可以用同樣的方式加入同一張表,只要確保連接條件只能匹配一個* single *行。否則你必須使用不同的技術。 –