Как я могу добавить регулярные выражения для Datafields MySQL?

StackOverflow https://stackoverflow.com/questions/3731373

  •  03-10-2019
  •  | 
  •  

Вопрос

У меня есть следующая таблица:

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

и соответствующее регулярное выражение:

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

Как я могу использовать модель MySQL, чтобы связать регулярное выражение в поле «Электронная почта», чтобы регельс доступен для чтения через PHP, а также на триггер или еще лучше, в своем роде ограничения?

Я хочу определить это непосредственно с помощью MySQL Workbench, поэтому отдельная таблица не будет работать для меня.

Это было полезно?

Решение

На мой взгляд, входная проверка, как это на самом деле не является задачей базы данных. Эти правила валидации могут измениться. Вы можете даже сделать их настраиваемыми пользователем когда-нибудь. Это ужасно сложно, если правила похоронены в некоторых спусковом крючке где-то.

Кроме того, вам нужно будет обрабатывать ошибку проверки на уровне приложений в любом случае - показывать сообщение о некоторых видах.

Лучшее место, чтобы сделать их доступными для Выступ Внутри MySQL может быть комментарий столбца, который вы можете получить SHOW COLUMNS в сочетании с FULL ключевое слово.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top