>  기사  >  데이터 베이스  >  MySQL은 정규식을 사용하여 전화번호를 확인할 수 있습니까?

MySQL은 정규식을 사용하여 전화번호를 확인할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-20 20:58:13352검색

Can MySQL Use Regular Expressions to Validate Phone Numbers?

MySQL에서 정규식을 사용하여 데이터 유효성 검사 시행

MySQL이 정규식을 활용하여 특히 다음과 같은 필드의 경우 데이터 무결성을 보장할 수 있습니까? '전화번호'에는 특정 유효성 검사 매개변수가 필요합니까?

예, MySQL은 데이터에 정규식을 활용하는 기능을 제공합니다. 유효성 검사. 제한된 CHECK 제약 조건과 달리 MySQL은 트리거를 사용하여 데이터 일관성을 강화합니다. 트리거를 구현하면 정규식 제약 조건을 지정하여 데이터가 미리 결정된 기준을 준수하는지 확인할 수 있습니다.

실제 예는 다음과 같습니다.

다음을 사용하여 전화번호 확인을 시행하려면 정규식(예를 들어 숫자는 다음 형식이어야 합니다. 64-221221442):

CREATE TABLE data (
  phone varchar(100)
);

DELIMITER $$
CREATE TRIGGER trig_phone_check BEFORE INSERT ON data
FOR EACH ROW
BEGIN
IF (NEW.phone REGEXP '^(\+?[0-9]{1,4}-)?[0-9]{3,10}$' ) = 0 THEN
  SIGNAL SQLSTATE '12345'
     SET MESSAGE_TEXT = 'Wroooong!!!';
END IF;
END$$
DELIMITER ;

이 트리거를 사용하면 지정된 형식(예: 64-22122 WRONG 1442)을 따르지 않는 전화번호를 삽입하려고 하면 오류가 발생하여 잘못된 데이터가 데이터베이스에 입력되지 않도록 합니다.

MySQL은 이러한 검증 메커니즘을 지원하지만 다음을 기억하는 것이 중요합니다. 데이터 검증은 데이터베이스 계층에만 의존해서는 안 됩니다. 다양한 수준에서 애플리케이션 전반에 걸쳐 포괄적인 검증 메커니즘을 구현해야 합니다.

위 내용은 MySQL은 정규식을 사용하여 전화번호를 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.