Heim > Datenbank > MySQL-Tutorial > Hauptteil

Kann die Datenvalidierung mithilfe regulärer Ausdrücke in MySQL implementiert werden?

DDD
Freigeben: 2024-11-17 17:29:02
Original
385 Leute haben es durchsucht

Can Data Validation Using Regular Expressions be Implemented in MySQL?

Kann die Datenvalidierung mithilfe regulärer Ausdrücke in MySQL erzwungen werden?

Die Validierung von Daten ist für die Gewährleistung der Datenintegrität von entscheidender Bedeutung. Reguläre Ausdrücke (Regex) bieten Flexibilität beim Definieren von Einschränkungen. Kann MySQL Regex für die Datenvalidierung nutzen?

Ja, MySQL unterstützt Regex für die Datenvalidierung. Insbesondere unterstützt es keine CHECK-Einschränkungen für die Datenvalidierung. Stattdessen sollten Trigger verwendet werden.

Sie können beispielsweise mithilfe eines Triggers eine Prüfeinschränkung für eine Telefonspalte erstellen:

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$$
Nach dem Login kopieren

Dieser Trigger prüft, ob die eingehende Telefonnummer mit der angegebenen übereinstimmt regulärer Ausdruck. Wenn es nicht übereinstimmt, wird ein Fehler gemeldet und eine benutzerdefinierte Fehlermeldung gesetzt.

INSERT INTO data VALUES ('+64-221221442'); -- should be OK
INSERT INTO data VALUES ('+64-22122 WRONG 1442'); -- will fail with the error: #1644 - Wroooong!!! 
Nach dem Login kopieren

Es wird jedoch nicht empfohlen, sich bei der Datenvalidierung ausschließlich auf MySQL zu verlassen. Für eine optimale Datenintegrität sollten Daten auf mehreren Ebenen einer Anwendung validiert werden.

Das obige ist der detaillierte Inhalt vonKann die Datenvalidierung mithilfe regulärer Ausdrücke in MySQL implementiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage