| 

.NET C# Java Javascript Exception

0

Daten aktualisieren

Seit der Version 4.1 kennt MySQL die Erweiterung ON DUPLICATE KEY für den Befehl INSERT . Die führt statt des Einfügens eine UPDATE- Operationen durch, falls bereits ein Satz mit dem identischen Primärschlüssel existiert. Ein Beispiel für die Anwendung: Sie möchten sich für Ihre Website eine Tabelle anlegen, die die Zugriffszahlen auf Basis von IP-Adressen speichert. Die Struktur der Tabelle wird in etwa so aussehen:

CREATE TABLE zugriffe (
ip VARCHAR(15) NOT NULL PRIMARY KEY,
zaehler INT UNSIGNED NOT NULL, lzugriff DATETIME
);

Um einen neuen Zugriff zu vermerken, würde man mit den normalen SQL-Befehlen zuerst eine Abfrage starten, die das Vorhandensein der IP-Adresse prüft und dann je nach ihrem Ergebnis die Daten per UPDATE aktualisieren oder mittels INSERT neu eintragen. Mit dem praktischen Befehlszusatz dagegen genügt ein MySQL-Befehl:

INSERT INTO zugriffe VALUES ('192.168.0.1', 1, now( ))
ON DUPLICATE KEY UPDATE zaehler = zaehler +1,lzugriff = now( );

Für den Fall, dass die IP-Adresse 192.168.0.1 bereits in der Tabelle eingetragen ist, wird also der Zähler um eins erhöht und das Feld, das den letzten Zugriff speichert, aktualisiert.
(Martin Goldmann/Natascha Maslo/am)

datenbanken
Schreibe einen Kommentar:
Themen:
datenbanken
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail