Maison > base de données > tutoriel mysql > La validation des données à l'aide d'expressions régulières peut-elle être implémentée dans MySQL ?

La validation des données à l'aide d'expressions régulières peut-elle être implémentée dans MySQL ?

DDD
Libérer: 2024-11-17 17:29:02
original
450 Les gens l'ont consulté

Can Data Validation Using Regular Expressions be Implemented in MySQL?

La validation des données à l'aide d'expressions régulières peut-elle être appliquée dans MySQL ?

La validation des données est cruciale pour garantir l'intégrité des données. Les expressions régulières (regex) offrent une flexibilité dans la définition des contraintes. MySQL peut-il exploiter les regex pour la validation des données ?

Oui, MySQL prend en charge les regex pour la validation des données. Notamment, il ne prend pas en charge les contraintes CHECK pour la validation des données. Au lieu de cela, des déclencheurs doivent être utilisés.

Par exemple, vous pouvez créer une contrainte de vérification pour une colonne de téléphone à l'aide d'un déclencheur :

CREATE TRIGGER trig_phone_check BEFORE INSERT ON data
FOR EACH ROW 
BEGIN 
IF (NEW.phone REGEXP '^(\+?[0-9]{1,4}-)?[0-9]{3,10}$' ) = 0 THEN 
  SIGNAL SQLSTATE '12345'
     SET MESSAGE_TEXT = 'Wroooong!!!';
END IF; 
END$$
Copier après la connexion

Ce déclencheur vérifie si le numéro de téléphone entrant correspond au numéro spécifié. expression régulière. S'il ne correspond pas, il signale une erreur et définit un message d'erreur personnalisé.

INSERT INTO data VALUES ('+64-221221442'); -- should be OK
INSERT INTO data VALUES ('+64-22122 WRONG 1442'); -- will fail with the error: #1644 - Wroooong!!! 
Copier après la connexion

Cependant, il n'est pas recommandé de s'appuyer uniquement sur MySQL pour la validation des données. Les données doivent être validées à plusieurs niveaux d'une application pour une intégrité optimale des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal