Heim >Datenbank >MySQL-Tutorial >Wie kann ich MySQL-Einfügungen basierend auf einer Bedingung mithilfe von Triggern verhindern?

Wie kann ich MySQL-Einfügungen basierend auf einer Bedingung mithilfe von Triggern verhindern?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-16 18:40:11284Durchsuche

How Can I Prevent MySQL Inserts Based on a Condition Using Triggers?

MySQL-INSERTS mit einem Trigger verhindern

Um das Einfügen einer Zeile zu verhindern, wenn eine bestimmte Bedingung erfüllt ist, z. B. ein in der Zukunft festgelegtes Geburtsdatum können Sie einen Trigger erstellen. So geht's:

CREATE TRIGGER foo BEFORE INSERT ON table
FOR EACH ROW
BEGIN
  IF NEW.birthdate > CURRENT_DATE() THEN
    SIGNAL SQLSTATE '45000';
  END IF;
END;

Einfügung abbrechen

Um die Einfügung innerhalb des Triggers abzubrechen, verwenden Sie die SIGNAL SQLSTATE-Syntax. Um beispielsweise einen Fehler auszulösen, wenn das Geburtsdatum in der Zukunft liegt, würden Sie Folgendes verwenden:

SIGNAL SQLSTATE '45000';

Dadurch wird eine nicht behandelte benutzerdefinierte Ausnahme ausgelöst und das Einfügen verhindert.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Einfügungen basierend auf einer Bedingung mithilfe von Triggern verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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