Sur l'un de mes projets, j'ai dans ma base de données une table qui ressemble à cela :

ColonneType
idEntier non signé
NameChaîne de caractères
value1MinFlottant non signé
value1MaxFlottant non signé
value2MinFlottant non signé
value2MaxFlottant non signé
value3MinFlottant non signé
value3MaxFlottant non signé

J'ai de plus deux index qui permettent de garantir respectivement l'unicité sur la colonne Name et les 6 colonnes value*.

En effet, je ne dois pas avoir dans ma table plusieurs enregistrements avec le même nom et/ou avec les mêmes valeurs.

Du coup, j'utilise la directive IGNORE dans ma requête d'insertion en SQL pour ne pas générer d'erreur au niveau du SGBD.

Et ma question est donc la suivante : Si un utilisateur tente de créer un enregistrement qui existe déjà dans la table, dois-je l'en informer ?

En effet, son but est forcément de créer cet enregistrement.

Est-il alors pertinent, ergonomiquement parlant, de l'informer que l'enregistrement existe déjà via un message d'erreur ou une alerte ?

Je dirais que tout dépend si l'enregistrement qui existe porte le même nom, les mêmes valeurs, ou bien le même nom et les mêmes valeurs.

S'il porte le même nom ou (dans le sens XOR du terme) les mêmes valeurs, cela pourrait être utile, alors que s'il est identique à tout point de vue, l'affichage d'une erreur me semble totalement inutile.

Et vous, quel est votre avis ?