ホームページ > データベース > mysql チュートリアル > 正規表現を使用したデータ検証は MySQL に実装できますか?

正規表現を使用したデータ検証は MySQL に実装できますか?

DDD
リリース: 2024-11-17 17:29:02
オリジナル
442 人が閲覧しました

Can Data Validation Using Regular Expressions be Implemented in MySQL?

正規表現を使用したデータ検証は 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート