ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
1360
1360
EMPFEHLEN
-
09.03.09 14:50 #1
Hi,
Ich kenne mich mit MySQl triggern noch nicht so aus deshalb hier mal eine Frage:
Wie kann ich es machen das wenn ich in einer Spalte etwas auf 1 setzte (UPDATE) das er dann den vorherigen wert in eine andere Tabelle schreibt..
Ich habe immer nur Beispiele mit einem Insert gefunden..
Vielen dank für eure Hilfe im voraus..
Mit freundlichen Grüßen,
Marvvvv =)=)
-
In OLD.spaltenname steht der alte Wert.
-
09.03.09 17:36 #3
Hab dazu nochmal ne frage und zwar weiß ich nicht wie ich es auf eine row in der Tabelle beziehen kann.
Ich habe eine Tabelle in der ich die Besucher des Tage speicher:
Und da wird der Level auf 1 und ein aktueller Unix-Timestamp gesetzt wenn ein Besucher zum erstem mal an diesem Tag die Seite besucht..Code :1 2
keyword level timestamp day_visit 2 1236281333
Aber ich möchte die daten für eine Statistik behalten.. was jetzt ?
Edit:
Ich habe gerade versuch folgenden Code zu verwenden:
Dabei kam folgender Fehler bei rum.Code :1 2 3 4 5 6
CREATE TRIGGER counter_backup BEFORE UPDATE ON counter_levels FOR EACH ROW BEGIN IF NEW.level = 1 THEN INSERT counter_backups (keyword, level, timestamp) VALUES (OLD.keyword, OLD.level, OLD.timestamp); END IF; END;
Ist level für irgendetwas reserviert?
Code :1
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT counter_backups (keyword, level, timestamp) VALUES (OLD.keyword, OLD.leve' at line 4
Geändert von VanHellsehn (10.03.09 um 11:29 Uhr)
=)
-
Hi,
der Trigger ist okay. Probleme macht wahrscheinlich der Delimiter.
Versuch den mal vorher in ein anderes Zeichen zu ändern und später wieder rückwärts:
Code :1 2 3 4 5 6 7 8 9 10 11 12
DELIMITER | CREATE TRIGGER counter_backup_bu BEFORE UPDATE ON counter_levels FOR EACH ROW BEGIN IF NEW.level = 1 THEN INSERT counter_backups (keyword, level, timestamp) VALUES (OLD.keyword, OLD.level, OLD.timestamp); END IF; END; | DELIMITER ;
Guck dir das am Besten noch einmal auf dieser Seite an (einfach nach "delimiter" suchen). Dort gibts Beispiele.
Gruß
-
10.03.09 18:39 #5
Ich arbeite mit phpMyAdmin.
Ich habe immer gedacht da muss man diesen nicht setzten..
Wenn ich es wie in deinem Beispiel mache kommt wieder ein fehler bei rum der durch den Delmiter verursacht wurde:
Code :1 2 3 4
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER | CREATE TRIGGER trigger_counter_backup BEFORE UPDATE ON counter' at line 1
=)
-
Versuch es mal so wie im Anhang.
-
11.03.09 14:43 #7
Vielen dank es hat geklappt =)
=)
Ähnliche Themen
-
MySQL Trigger
Von Ruthy im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 05.07.10, 23:22 -
Mysql trigger
Von muss_ im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 12.01.10, 17:58 -
MySQL Trigger auf Java Applikationen?
Von Uwe Janssen im Forum Java GrundlagenAntworten: 3Letzter Beitrag: 04.06.09, 09:51 -
Trigger in MySQL
Von NBOne im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 14.08.08, 11:46 -
MySQL Trigger mit urldecode Funktion
Von Dunas im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 08.07.08, 23:27





Zitieren
Login





