【エンジニア英語】Query 1 ERROR: ERROR:  there is no unique or exclusion constraint matching the ON CONFLICT specification

[エンジニア向け]英語のエラーを分解

エラーが発生した経緯

postgresqlのupsert(データがあれば、update、なければinsert)を使いたくて調べたところ

conflictという関数が使えるらしいということで使ってみた結果発生したエラー。

英語のエラー内容

Query 1 ERROR: ERROR:  there is no unique or exclusion constraint matching the ON CONFLICT specification

エラーを解決方法(というか何故エラーが発生したか)

on conflictにキーを設定するのだけれど、

ユニークキーである必要があった。

今回は、わざわざユニークキーをつけることはしたくなかったので、別の方法で実装することにしました。

エンジニアのエラー英語読解

翻訳内容

クエリ 1 エラー: エラー: ON CONFLICT 仕様に一致する一意または除外制約がありません

間違いやすいけど、Thereは副詞なのでM。

主語ではない。

isがV。

no unique or exclusion」までが形容詞でC。

constraintは、Sで主語。

matching~は、主語の補足説明。なので、constraintから最後までが1つの主語として考えてよさそう。

S:「ON CONFLICT 仕様に一致する制約」

C:「一意または除外がない」

SVCの第2文型。

ここに行き着くまでに長かったーーー。

単語

unique

形容詞:唯一の

発音:juːníːk [ユーニーク]

exclusion

名詞:除外

発音:iksklúːʒən [イクスクルージョン]

constraint

名詞:制限、制約

発音:kənstréint [コンストゥレイント]

matching

名詞:適合している

発音:mǽtʃiŋ [マッチング]

specification

名詞:仕様

発音:spèsəfikéiʃən [スペサフィケイション]

エンジニアのエラー英語のまとめ

まとめ

難しい!!

本当に難しかった。。。orz

特に、SとCの境界線が本当に謎で悩みまくった。

多分あってるはず。。。

文型の学習はしたつもりだったけど、まだまだ読解には時間がかかります。

ただ!文型なしに闇雲に訳してた時より理解力は上がってきているはず

文型【エンジニア 英語のやり直し】文型を再学習

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です