Beispiele: Über den PHP-Hintergrundcode können Sie Mitarbeiterinformationen löschen, gelöschte Mitarbeiterinformationen wiederherstellen (ähnlich der Wiederherstellung von Mitarbeiterinformationen aus dem Papierkorb) und gelöschte Mitarbeiter löschen (ähnlich der Funktion zum Löschen der Antwortstation). Ideen: Es müssen eine Mitarbeitertabelle und eine Mitarbeitersicherungstabelle vorhanden sein. Verwenden Sie zum Sichern Trigger, um die Informationen in der Mitarbeitertabelle in die Sicherungstabelle zu importieren, bevor Sie auf die Schaltfläche „Löschen“ klicken, um die Löschfunktion auszuführen und so den Sicherungseffekt zu erzielen. Verwenden Sie zur Wiederherstellung Trigger für die Sicherungstabelle, um die Daten in der Sicherungstabelle zu löschen, und importieren Sie die Daten gleichzeitig in die Mitarbeitertabelle. Verwenden Sie zum Löschen die Truncate-Methode, um die Daten in der Sicherungstabelle vollständig zu löschen und Speicher freizugeben. Diese Methode ruft keine Trigger zum Löschen von Daten auf. Lassen Sie mich ohne weitere Umschweife direkt zur Sache kommen. Schritt 1: Tabellen erstellen: Mitarbeitertabelle und Mitarbeiter-Backup-Tabelle. CREATE TABLE `Mitarbeiter` ( `id` int(11) NICHT NULL AUTO_INCREMENT, `denummerieren` varchar(255) DEFAULT '0', `idnumber` varchar(255) STANDARD '0', `Arbeitsnummer` varchar(255) DEFAULT '1', `pwd` varchar(255) DEFAULT NULL, `emname` varchar(255) STANDARD '0', `tel` varchar(255) STANDARD '0', `Gehalt` int(255) DEFAULT '0', `Eintrittszeit` varchar(255) DEFAULT '0', `orderpaixu` int(255) DEFAULT '1', PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=utf8 Dies ist die Mitarbeiterliste CREATE TABLE `employeebackup` ( `id` int(11) NICHT NULL, `denumber` varchar(255) DEFAULT NULL, `idnumber` varchar(255) DEFAULT NULL, `Arbeitsnummer` varchar(255) DEFAULT NULL, `pwd` varchar(255) DEFAULT NULL, `emname` varchar(255) DEFAULT NULL, `tel` varchar(255) DEFAULT NULL, `Gehalt` int(255) DEFAULT NULL, `Eintrittszeit` varchar(255) DEFAULT NULL, `orderpaixu` int(255) DEFAULT NULL, `deletetime` Datum/Uhrzeit DEFAULT NULL, PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=MyISAM STANDARD-CHARSET=utf8 Die Mitarbeiter-Sicherungstabelle verfügt über ein zusätzliches Feld namens „Deletetime“, um den Löschzeitpunkt aufzuzeichnen. Schritt 2: Sichern Sie die Mitarbeitertabelle, erstellen Sie einen Trigger (Informationen zu Triggern finden Sie in meinem anderen Blog http://www.cnblogs.com/liebagefly/p/7517998.html), und importieren Sie die Informationen in der Mitarbeitertabelle in die Sicherungstabelle, bevor Sie auf die Schaltfläche „Löschen“ klicken, um die Löschfunktion auszuführen. SQL-Code auslösen: CREATE-Trigger deletesemployee vor dem Löschen eines Mitarbeiters für jede REIHE beginnen in Mitarbeitersicherung einfügen (ID, Denummerierung, ID-Nummer, Arbeitsnummer, Passwort, EM-Name, Tel., Gehalt, Eintrittszeit, Bestellnummer, Löschzeit) Werte (ALT.id, ALT.denumber, ALT.idnumber, ALT.worknumber, ALT.pwd, ALT.emname, ALT.tel, ALT.salary, ALT.entrytime, ALT.orderpaixu, JETZT()); Ende PHP-Hintergrundmethode, das Framework, das ich verwende, ist yii2. öffentliche Funktion actionEmployeedel($id) { Mitarbeiter::findOne($id)->delete(); Geben Sie $this->redirect(['employeemanage']) zurück. } Schritt 3: Wiederherstellen, die gelöschten Informationen wiederherstellen, Trigger auf der Sicherungstabelle verwenden, die Daten in der Sicherungstabelle löschen und die Daten beim Löschen in die Mitarbeitertabelle importieren. SQL-Code auslösen: CREATE-Trigger „deletesemployeebackup“ vor dem Löschen von Employeebackup für jede REIHE beginnen in Mitarbeiter einfügen (ID, Denummerierung, ID-Nummer, Arbeitsnummer, Passwort, EM-Name, Tel., Gehalt, Eintrittszeit, Bestellnummer) Werte (ALT.id, ALT.denumber, ALT.idnumber, ALT.worknumber, ALT.pwd, ALT.emname, ALT.tel, ALT.salary, ALT.entrytime, ALT.orderpaixu); Ende PHP Code (in Englisch) öffentliche Funktion actionRecoveremployeedel($id) { Mitarbeitersicherung::findOne($id)->delete(); Geben Sie $this->redirect(['Mitarbeiter wiederherstellen']) zurück. } Zusätzlich zur Sicherung ist manchmal auch eine Löschfunktion erforderlich. Verwenden Sie die Truncate-Methode, um die Daten in der Sicherungstabelle vollständig zu löschen und Speicher freizugeben. Diese Methode ruft keine Trigger zum Löschen von Daten auf. Die ursprüngliche Methode zum Aufrufen von SQL im Hintergrund von Yii2 besteht darin, alle gelöschten Benutzer zu löschen. öffentliche Funktion actionDropemployeedel() { Yii::$app->db->createCommand('Tabelle Mitarbeitersicherung abschneiden') ->ausführen(); Geben Sie $this->redirect(['Mitarbeiter wiederherstellen']) zurück. } Das Obige ist eine einfache Verwendung eines MySQL-Triggers in einem kleinen Projekt. Das könnte Sie auch interessieren:
|
<<: Detailliertes Verständnis und vergleichende Analyse der Server Apache, Tomcat und Nginx
>>: Nodejs Exploration: Tiefgreifendes Verständnis des Prinzips der Single-Threaded High Concurrency
Inhaltsverzeichnis 1. Verwenden Sie Objekt, um ei...
Aufgetroffene Fallstricke Ich habe den ganzen Nac...
Inhaltsverzeichnis 1. Ternäres Operatorurteil 2. ...
In diesem Artikel wird der spezifische Code von j...
Die Hauptunterschiede sind folgende: 1. MySQL ver...
Die Standarddatenbank von CentOS7 ist MariaDB, ab...
1. Einrichten des virtuellen Nginx-Hosts Mit virt...
Inhaltsverzeichnis 1. Gleichzeitige Zugriffskontr...
Phänomen Es gibt mehrere verschachtelte Flex-Stru...
Ich habe im LOFTER-Wettbewerb gesehen, dass erwähn...
Inhaltsverzeichnis Verwendung von this.$set in Vu...
Inhaltsverzeichnis 1. Boolesche Werte 2. Ausdruck...
Zuerst wollte ich den Stil der Bildlaufleiste des...
Ansible ist ein neues, auf Python basierendes, au...
1. Stoppen Sie zuerst den mysqld.exe-Prozess 2. Ö...