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 중국어 웹사이트의 기타 관련 기사를 참조하세요!