dans mysql j'essaie de vérifier un email valide mais je ne sais pas savoir utiliser une regex avec contrainte je ne veux pas utiliser TRIGGER c'est possible ??!sql regex vérifier la contrainte
Répondre
En MySql, vous pouvez l'utiliser pour e-mail valide ou non RegEx pour trouver le
invalideselect email from your_table where email
REGEXP '^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$';
ou pour ORACLE
SELECT email
FROM your_table
WHERE REGEXP_LIKE (email, '[A-Z0-9._%-][email protected][A-Z0-9._%-]+\.[A-Z]{2,4}');
mais rappelez-vous est pas une solution absolue pour cela, vous pourriez trouver utile Ce message SO Using a regular expression to validate an email address
non je ne suis pas allé sélectionner de la base de données je n'ajouterais pas une contrainte quand je suis allé insérer des valeurs dans ma table –
Pour cela vous devez créer un trigger, (voir comment créer un trigger) et appliquer l'expression rationnelle dans http://stackoverflow.com/questions/16005283/is-it-possible-to-enforce-data-checking-in-mysql-using-regular-expression – scaisEdge
merci pour votre aide, je suis débutant et je cherche une méthode simple –
MySQL ne supporte pas la contrainte 'CHECK' donc IMHO il ne semble pas possible de le faire sans trigger. – ozy
Essayez-vous de le faire en MySQL ou PHP? –
Vous essayez de vérifier lors de la sélection ou de l'insertion/de la mise à jour? Vous pouvez vérifier le côté serveur pour l'insertion/la mise à jour. Vous pouvez sélectionner une clause regex dans where. – chris85