Zeos7とDelphi2009を使用していて、データベースにデータを投稿する前に、特定のフィールドの下の値がデータベースにすでに存在するかどうかを確認したいと思います。
例:チーズ、マウス、トラップのフィールドキーワード値
tblkeywordKEYWORD.Value = Cheese
次の何が問題になっていますか?そして、もっと良い方法はありますか?
zQueryKeyword.SQL.Add('IF NOT EXISTS(Select KEYWORD from KEYWORDLIST ='''+
tblkeywordKEYWORD.Value+''')INSERT into KEYWORDLIST(KEYWORD) VALUES ('''+
tblkeywordKEYWORD.Value+'''))');
zQueryKeyword.ExecSql;
IBExpertで一意性制約を使用しようとしましたが、次のエラーが発生します。
無効な挿入または更新値:オブジェクト列が制約されています-2つのテーブル行が重複する列値を持つことはできません。重複する値(アクティブなトランザクションに表示される)を一意のインデックス「UNQ1_KEYWORDLIST」に格納しようとします。