Comment puis-je ajouter des expressions régulières pour MySQL zones de données?
-
03-10-2019 - |
Question
Je le tableau suivant:
Table Account{
[...]
email varchar(100),
[...]
}
et une expression régulière correspondant:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
Comment puis-je utiliser le modèle de MySQL, pour relier l'expression régulière à des données sur le terrain « email », de sorte que l'expression rationnelle est accessible à lire à travers php ainsi qu'un déclencheur ou encore mieux, dans une sorte de contrainte?
Je veux définir cela en utilisant directement établi MySQL, donc une table séparée ne fonctionnera pas pour moi.
La solution
A mon avis, la validation d'entrée comme celui-ci n'est pas vraiment la tâche de la base de données. Ces règles de validation peuvent changer. Vous pouvez même les faire configurable par l'utilisateur un jour. Cela devient extrêmement difficile si les règles sont enterrés dans quelque endroit de déclenchement.
En outre, vous devrez gérer une erreur de validation au niveau de l'application de toute façon -. Montrant un message d'une sorte
Le meilleur endroit pour les rendre accessibles à PHP à l'intérieur mySQL peut être un commentaire de la colonne, que vous pouvez chercher à l'aide SHOW COLUMNS
conjointement avec le mot-clé FULL
.