У меня есть следующая таблица:
Table Account{
[...]
email varchar(100),
[...]
}
и соответствующее регулярное выражение:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
Как я могу использовать модель MySQL, чтобы связать регулярное выражение с полем данных "email", чтобы регулярное выражение было доступно для чтения через php, а также триггер или даже лучше, в виде ограничение?
Я хочу определить это непосредственно с помощью workbench MySQL, поэтому отдельная таблица не будет работать для меня.
На мой взгляд, проверка ввода, как это, на самом деле не является задачей базы данных. Эти правила проверки могут измениться. Вы даже можете сделать их настраиваемыми пользователем когда-нибудь. Это становится ужасно трудным, если правила где-то где-то закопаны.
Кроме того, вам все равно придется обрабатывать ошибку проверки на уровне приложения - показывая какое-то сообщение.
Лучшее место, чтобы сделать их доступными для PHP внутри mySQL, может быть комментарием столбца, который вы можете использовать с помощью SHOW COLUMNS
в сочетании с ключевым словом FULL
.