Jump to content

[SQL] Comment interdire un mot dans un champ ?


NiTrOuS

Recommended Posts

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:

Link to comment
Share on other 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é.

Link to comment
Share on other 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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...