J'utilise Zeos 7 et Delphi 2009 et je veux vérifier si une valeur est déjà dans la base de données sous un champ spécifique avant de publier les données dans la base de données.Firebird Insérer des données distinctes à l'aide de ZeosLib et Delphi
Exemple: champ Mot-clé
Les valeurs de fromage, souris, piège
tblkeywordKEYWORD.Value = Cheese
Quel est le problème avec ce qui suit? Et y a-t-il un meilleur moyen?
zQueryKeyword.SQL.Add('IF NOT EXISTS(Select KEYWORD from KEYWORDLIST ='''+
tblkeywordKEYWORD.Value+''')INSERT into KEYWORDLIST(KEYWORD) VALUES ('''+
tblkeywordKEYWORD.Value+'''))');
zQueryKeyword.ExecSql;
J'ai essayé d'utiliser la contrainte unique dans IBExpert, mais il donne l'erreur suivante:
Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values. attempt to store duplicate value (visible to active transactions) in unique index "UNQ1_KEYWORDLIST".
Votre instruction SQL telle que publiée contient parens inégalée, il est donc peu probable que vous obtenez l'erreur que vous show - Zeos devrait lancer une erreur de syntaxe à la place. – mghie
Ce message d'erreur provient d'essayer de faire la contrainte unique dans IBExpert, pas à partir du SQL. – Brad