1
私は2列のテーブル: チャネルTEXT 行ID INTEGER PRIMARY KEYPostgresのUPSERT構文混乱
Iチャンネル MYTABLEに一意のインデックスchannels_index CREATE(低級(チャンネル))にインデックスを含ま
VisitTorontoはvisittorontoと競合します
すべてがうまく動作し、競合が発生します。 エラー:重複するキー値が一意の制約 "channels_index"に違反しています DETAIL:キー(下位(ワード))=(hello world)は既に存在します。
この競合をトラップする構文を理解できません。 CONFLICTチャンネルの制約のchannels_index ON CONFLICT上では動作しません、私が持っている最も近いです
を動作しません: ERROR:ONのCONFLICT仕様
に一致するユニークまたは除外制約がありません任意の方向を希望感謝する。
TIA
賢いありがとう。私はまた、Docsが少し良くなったことも理解しています。更新を行わずにchannels_rowidを返す方法はありますか?そうでなければ、データベースにあるバージョンは気にしません。ほとんどの場合、自分自身を教育しています。私は挿入と更新の両方のために返される更新ステートメントの後に '返すchannels_rowid'を使用していますが、もし私が "DO NOTHING"を返していない場合は、SELECTを使用するとエラーが発生します – Jym
残念ながら、どの行も影響を受けていないので「何もしない」から。これを達成するには関数が必要です。 – klin
ありがとう、十分に良い:-) – Jym