Aller au contenu

[SQL] Comment interdire un mot dans un champ ?


NiTrOuS

Messages recommandés

Bonjour,

je voudrais savoir s'il est possible, directement dans la base de données, d'interdire un mot dans un champ.

C'est pour un forum en fait. Il y a la table users avec un champ user_car et je voudrais interdire le mot 'tricycle' car c'est un bot et c'est le seul mot clé qui revient systématiquement.

Ou alors je serai obligé de passer par le code PHP ?

Merci :cartonrouge:

Lien vers le commentaire
Partager sur d’autres sites

Il y a moyen de bricoler un semblant, mais comme c'est pour un forum, user_car n'est sans doute pas une clé, mettre une chaine en clé c'est de toute facon pas top, donc au final, non, il vaux mieux que tu passes par un traitement PHP qui vérifie si le mot entré fait parti de la liste des mots interdits (que tu peux mettre dans ta bd, dans une table spécialement créée).

Si tu as le droit de poster le bout de code qui se charge de cela, on peux t'aider à le faire si tu veux :)

Mais donc, non, en SQL, tu ne peux pas "facilement" faire ce dont tu parles. Tu peux tjs essayer du coté des triggers ? Mais bon, c'est toi qui vois jusqu'ou tu es près a allé.

Lien vers le commentaire
Partager sur d’autres sites

Je verrais bien un trigger BEFORE INSERT.

C'est propre, net, facile. Et si le besoin de filtrer disparaît un jour, il suffit de le supprimer.

Oui, mais...

Le trigger a un "gros défaut": il n'existe pas sous toutes les BDD et/ou sous toutes les versions de BDD, pour autant que je sache!

MySQL n'intègre ca que depuis une version assez récente (4.1 ou 5, non?). Donc cette possibilité est dépendante de l'hébergeur et de ses choix

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...