Pregunta

Tengo la siguiente tabla:

Table Account{
    [...]
    email varchar(100),
    [...]
}

y una expresión regular correspondiente:

/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i

¿Cómo puedo utilizar el modelo de MySQL, para enlazar con la expresión regular a la del campo de datos "e-mail", de manera que la expresión regular es accesible a dar lectura a través de php, así como un disparador o mejor aún, en una especie de ¿restricción?

Quiero definir este directamente a través de la mesa de trabajo de MySQL, por lo que una tabla separada no va a funcionar para mí.

¿Fue útil?

Solución

En mi opinión, la validación de entrada de este tipo no es realmente la tarea de la base de datos. Esas reglas de validación pueden cambiar. Usted puede incluso hacer que se configurable por el usuario algún día. Esto se vuelve terriblemente difícil si las reglas están enterrados en algún lugar alguna gatillo.

Además, tendrá que manejar un error de validación en el nivel de aplicación de todos modos -. Mostrando un mensaje de algún tipo

El mejor lugar para hacerlos accesibles a PHP en el interior de MySQL puede ser un comentario columna, que se puede recuperar usando SHOW COLUMNS en conjunción con la palabra clave FULL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top