2015-12-15 4 views
0

в mysql я пытаюсь проверить действительный адрес электронной почты, но я не умею использовать регулярное выражение с ограничением я не хочу использовать TRIGGER, возможно!!sql regex check constraint

+2

MySQL не поддерживает ограничение 'CHECK', поэтому IMHO кажется невозможным без него. – ozy

+0

Вы пытаетесь сделать это в MySQL или PHP? –

+0

Вы пытаетесь проверить при выборе или вставке/обновлении? Вы можете проверить серверную сторону для вставки/обновления. Вы можете выбрать с регулярным выражением в where where. – chris85

ответ

0

В MYSQL вы можете использовать это для действительной электронной почты или NOT Regex для поиска недействительного

select email from your_table where email 
     REGEXP '^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$'; 

или для ORACLE

SELECT email 
FROM your_table 
WHERE REGEXP_LIKE (email, '[A-Z0-9._%-][email protected][A-Z0-9._%-]+\.[A-Z]{2,4}'); 

, но помните, не является абсолютным решением для этого вы могли бы оказаться полезными this SO post Using a regular expression to validate an email address

+0

Нет, я не выбрал из базы данных, я не добавлю ограничения, когда я пошел на вставку vales в свою таблицу. –

+0

Для этого вы должны создать триггер (см. Как создать триггер) и применить регулярное выражение в ответ http://stackoverflow.com/questions/16005283/is-it-possible-to-enforce-data-checking-in-mysql-using-regular-expression – scaisEdge

+0

спасибо за помощь, я начинаю и ищу простой способ –

Смежные вопросы