この質問は何度も尋ねられ、答えられましたが、私はまだ困惑しています。値が列にまだ存在しない場合は、挿入ステートメントを実行するだけです。この列の値は主キーを構成しないため、replace
またはupdate
アプローチは機能しないことに注意してください。
word_id (PK, auto-complete) | word | timestamp (autocomplete)
1--sinecure--25th March
2--demotic--3rd April
3--atavism--5th May
このテーブルに別の単語を追加する前に、まずそれがまだ存在していないことを確認したいと思います。このことを念頭に置いて、この例ではテーブルを変更しないでおく必要があります。
INSERT INTO word_table(word) VALUES "sinecure"
WHERE NOT EXISTS (SELECT word FROM word_table WHERE word LIKE "sinecure")
もちろん、このクエリの後、テーブルは変更されませんが、エラーがスローされるためです。これは私が試した唯一の構文ではありませんが、私が見たさまざまなフォーラム/チュートリアルで最も頻繁に提唱されている構文です。また、EXISTSステートメントによって生成されたbool値を格納するために変数を使用するなど、さまざまなハックを試しましたが、役に立ちませんでした。