MySQL触发器trigger学习_MySQL
触发器:一类特殊的事物,可监视某种数据操作,并触发相关操作(insert/update/delete);表中的某些数据改变,希望同时可以引起其它相关数据改变的需求。 作用:变化自动完成某些语句查询,添加程序的灵活性。 创建触发器语法: #delimiter $$ //默认情况下,delimiter是分号“;”,sql语句带有;号结尾会报错,没到end就算到结束了,使用delimiter $$作用就是告诉mysql语句的结尾换成以$结束,相应使用end$$结束
create trigger test1 #触发器名称 (after/before) #触发时间 (insert/update/delete) #监视事件 on table #监视地点(表名) for each row #mysql必须加的 begin sql1 ... sqlN end; #end$$
实例操作: goods商品表和ord订单表
CREATE TABLE goods( `goods_id` INT(10), `name` VARCHAR(20), `num` SMALLINT(4) )ENGINE=INNODB CHARSET=utf8 CREATE TABLE `ord`( `oid` INT(10), `gid` INT(10), `much` INT(10) )ENGINE=INNODB CHARSET=utf8 INSERT INTO goods VALUES (1, 'cat', 26),(2, 'dog', 26),(3, 'pig', 26);
#创建触发器test1 DELIMITER $$ CREATE TRIGGER test1 AFTER INSERT ON `ord` FOR EACH ROW BEGIN UPDATE goods SET num= num - new.much WHERE goods_id = new.gid; END$$
mysql> CREATE TRIGGER test1 -> AFTER -> INSERT -> ON `ord` -> FOR EACH ROW -> BEGIN -> UPDATE goods SET num= num - new.much WHERE goods_id = new.gid; -> END$$ Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO `ord` VALUES (1, 2, 2)$$ Query OK, 1 row affected (0.03 sec) mysql> select * from ord$$ +------+------+------+ | oid | gid | much | +------+------+------+ | 1 | 2 | 2 | +------+------+------+ 1 row in set (0.00 sec) mysql> select * from goods$$ +----------+------+------+ | goods_id | name | num | +----------+------+------+ | 1 | cat | 26 | | 2 | dog | 24 | | 3 | pig | 26 | +----------+------+------+ 3 rows in set (0.00 sec) goods表里面的dog由26变成24
2、用户取消订单后商品库存订单的商品数要正常入库。以下只写触发器trigger,操作过程不写太多比较乱。
#触发器test2 CREATE TRIGGER test2 AFTER DELETE ON `ord` FOR EACH ROW BEGIN UPDATE goods SET num = num + old.much WHERE goods_id = old.gid; END $$

3、用户更新订单的时候,商品库存要根据订单的数量正常更新。
#触发器test3 CREATE TRIGGER test3 AFTER UPDATE ON `ord` FOR EACH ROW BEGIN UPDATE goods SET num = num + old.much - new.much WHERE goods_id = new.gid; END$$

查询触发器

删除触发器


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So blenden Sie Text vor jedem Klick in PowerPoint aus Wenn Sie möchten, dass Text angezeigt wird, wenn Sie irgendwo auf eine PowerPoint-Folie klicken, ist die Einrichtung schnell und einfach. So blenden Sie Text aus, bevor Sie in PowerPoint auf eine Schaltfläche klicken: Öffnen Sie Ihr PowerPoint-Dokument und klicken Sie auf das Menü „Einfügen“. Klicken Sie auf Neue Folie. Wählen Sie „Leer“ oder eine der anderen Voreinstellungen. Klicken Sie immer noch im Menü „Einfügen“ auf „Textfeld“. Ziehen Sie ein Textfeld auf die Folie. Klicken Sie auf das Textfeld und geben Sie Ihre ein

In der Oracle-Datenbank können Sie die CREATE TRIGGER-Anweisung verwenden, um Trigger hinzuzufügen. Ein Trigger ist ein Datenbankobjekt, das ein oder mehrere Ereignisse in einer Datenbanktabelle definieren und automatisch entsprechende Aktionen ausführen kann, wenn das Ereignis eintritt.

MySQL-Trigger erfolgen auf Zeilenebene. Gemäß SQL-Standards können Trigger in zwei Typen unterteilt werden: 1. Trigger auf Zeilenebene, die einmal für jede geänderte Datenzeile aktiviert werden. Wenn eine Anweisung 100 Datenzeilen einfügt, wird der Trigger 100 Mal aufgerufen . Trigger auf Anweisungsebene Der Trigger wird einmal für jede Anweisung aktiviert. Eine Anweisung, die 100 Datenzeilen einfügt, ruft den Trigger nur einmal auf. MySQL unterstützt nur Trigger auf Zeilenebene, keine Trigger auf vorbereiteter Anweisungsebene.

So verwenden Sie MySQL-Trigger, um die automatische Archivierung von Daten zu implementieren. Einführung: Im Bereich der modernen Datenverwaltung ist die automatische Archivierung und Bereinigung von Daten eine wichtige und häufige Anforderung. Wenn die Datenmenge zunimmt, wird die Beibehaltung vollständiger Verlaufsdaten übermäßig viel Speicherressourcen beanspruchen und die Abfrageleistung verringern. MySQL-Trigger bieten eine effektive Möglichkeit, diese Anforderung zu erfüllen. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL-Triggern eine automatische Archivierung von Daten erreichen. 1. Was ist ein MySQL-Trigger? Ein MySQL-Trigger ist eine besondere Art von Speicher.

So schreiben Sie benutzerdefinierte Trigger und gespeicherte Prozeduren in MySQL mit PHP. Einführung: Bei der Entwicklung von Anwendungen müssen wir häufig einige Vorgänge auf Datenbankebene ausführen, z. B. das Einfügen, Aktualisieren oder Löschen von Daten. MySQL ist ein weit verbreitetes relationales Datenbankverwaltungssystem und PHP ist eine beliebte serverseitige Skriptsprache. In diesem Artikel wird erläutert, wie Sie mit PHP benutzerdefinierte Trigger und gespeicherte Prozeduren in MySQL schreiben, und es werden spezifische Codebeispiele bereitgestellt. 1. Was sind Trigger und gespeicherte Prozedur-Trigger (Trigg

So schreiben Sie benutzerdefinierte gespeicherte Prozeduren, Trigger und Funktionen in MySQL mit C# MySQL ist ein weit verbreitetes relationales Open-Source-Datenbankverwaltungssystem, und C# ist eine leistungsstarke Programmiersprache für Entwicklungsaufgaben, die eine Interaktion mit der Datenbank erfordern Entscheidungen. In MySQL können wir C# verwenden, um benutzerdefinierte gespeicherte Prozeduren, Trigger und Funktionen zu schreiben, um flexiblere und leistungsfähigere Datenbankoperationen zu erreichen. Dieser Artikel führt Sie durch die Verwendung von C# zum Schreiben und Ausführen

So schreiben Sie Trigger in MySQL mit PHP MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem und PHP ist eine beliebte serverseitige Skriptsprache. Die Verwendung von PHP zum Schreiben von Triggern in MySQL kann uns dabei helfen, automatisierte Datenbankoperationen zu realisieren. In diesem Artikel wird erläutert, wie Sie mit PHP MySQL-Trigger schreiben, und es werden spezifische Codebeispiele bereitgestellt. Stellen Sie vor dem Start sicher, dass MySQL und PHP installiert sind und die entsprechenden Datenbanktabellen erstellt wurden. 1. Erstellen Sie PHP-Dateien und -Daten

So schreiben Sie benutzerdefinierte Trigger in MySQL mit Python Trigger sind eine leistungsstarke Funktion in MySQL, die einige automatisch ausgeführte Vorgänge für Tabellen in der Datenbank definieren kann. Python ist eine prägnante und leistungsstarke Programmiersprache, die problemlos mit MySQL interagieren kann. In diesem Artikel wird das Schreiben benutzerdefinierter Trigger mit Python vorgestellt und spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die PyMySQL-Bibliothek installieren und importieren. Dies ist Pythons Art, mit einer MySQL-Datenbank zu arbeiten
