Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie erstelle ich einen MySQL-Trigger vor dem Einfügen?

PHPz
Freigeben: 2023-08-29 14:09:06
nach vorne
994 Leute haben es durchsucht

Wie erstelle ich einen MySQL-Trigger vor dem Einfügen?

Dafür lautet die Syntax wie folgt –

delimiter //
create trigger yourTriggerName before insert on yourTableName
   FOR EACH ROW
   BEGIN

   yourStatement1
   .
   .
   N
END
//
delimiter ;
Nach dem Login kopieren

Um die obige Syntax zu verstehen, erstellen wir eine Tabelle –

mysql> create table DemoTable1919
   (
   Value int
   );
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

Dies ist die Abfrage zum Erstellen des MySQL-Triggers vor dem Einfügen –

mysql> delimiter //
mysql> create trigger sumis60 before insert on DemoTable1919
   FOR EACH ROW
   BEGIN
   declare custom_message varchar(256);
        IF (SELECT sum(Value) from DemoTable1919) = 60 THEN
           set custom_message= "cannot insert because sum(Value) is greater than 60";
             signal sqlstate '13500'
             set message_text= custom_message;
         END IF;
     END
     //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
Nach dem Login kopieren

Jetzt können Sie verwenden Befehl in die Tabelle einfügen. Fügen Sie einige Datensätze ein und prüfen Sie, ob der Trigger funktioniert –

mysql> insert into DemoTable1919 values(10);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1919 values(20);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1919 values(30);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1919 values(40);
ERROR 1644 (13500): cannot insert because sum(Value) is greater than 60
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen MySQL-Trigger vor dem Einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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