MySQL에서 정규식을 사용한 데이터 유효성 검사를 시행할 수 있나요?
데이터 유효성 검사는 데이터 무결성을 보장하는 데 중요합니다. 정규식(regex)은 제약 조건 정의에 유연성을 제공합니다. MySQL은 데이터 검증을 위해 정규식을 활용할 수 있습니까?
예, MySQL은 데이터 검증을 위한 정규식을 지원합니다. 특히 데이터 검증을 위한 CHECK 제약 조건은 지원하지 않습니다. 대신 트리거를 사용해야 합니다.
예를 들어 트리거를 사용하여 전화 열에 대한 확인 제약 조건을 생성할 수 있습니다.
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$$
이 트리거는 수신 전화 번호가 지정된 번호와 일치하는지 확인합니다. 정규식. 일치하지 않으면 오류를 알리고 사용자 정의 오류 메시지를 설정합니다.
INSERT INTO data VALUES ('+64-221221442'); -- should be OK INSERT INTO data VALUES ('+64-22122 WRONG 1442'); -- will fail with the error: #1644 - Wroooong!!!
그러나 데이터 검증을 MySQL에만 의존하는 것은 권장되지 않습니다. 최적의 데이터 무결성을 위해 데이터는 애플리케이션의 여러 수준에서 검증되어야 합니다.
위 내용은 정규식을 사용한 데이터 검증을 MySQL에서 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!