Parantatatam
mag Cookies & Kekse
Hallo,
ich habe gerade einen kleinen Denkfehler und verstehe deshalb nicht, warum meine MySQL-Abfrage nicht so läuft wie ich es gerne hätte:
Ich bastle gerade an einem Counter (mit PHP) der IP-Adressen in eine Datenbank lädt. Dabei gibt es folgende Spalten: id, ip, timestamp, counter - aber das ist eigentlich unwichtig. Problem ist nur, dass er bei mir jedes mal einen neuen Datensatz anlegt, wenn die Anfrage oben ausgeführt wird. Dabei sollte es doch eigentlich im Falle, dass schon ein Datensatz zu der IP existiert nur die Spalte "counter" um eins erhöhen. Wo liegt mein Denkfehler?
// EDIT: Die Spalte "id" ist natürlich auto_increment und UNSIGNED ZEROFILL, die Spalte "counter" ist standardmäßig als 1 festgelegt und die Spalte "timestamp" hat als Standardwert den CURRENT_TIMESTAMP.
ich habe gerade einen kleinen Denkfehler und verstehe deshalb nicht, warum meine MySQL-Abfrage nicht so läuft wie ich es gerne hätte:
Code:
INSERT INTO `ips` (`ip`) VALUES ('11.111.111.11') ON DUPLICATE KEY UPDATE `counter` = `counter` + 1
Ich bastle gerade an einem Counter (mit PHP) der IP-Adressen in eine Datenbank lädt. Dabei gibt es folgende Spalten: id, ip, timestamp, counter - aber das ist eigentlich unwichtig. Problem ist nur, dass er bei mir jedes mal einen neuen Datensatz anlegt, wenn die Anfrage oben ausgeführt wird. Dabei sollte es doch eigentlich im Falle, dass schon ein Datensatz zu der IP existiert nur die Spalte "counter" um eins erhöhen. Wo liegt mein Denkfehler?
// EDIT: Die Spalte "id" ist natürlich auto_increment und UNSIGNED ZEROFILL, die Spalte "counter" ist standardmäßig als 1 festgelegt und die Spalte "timestamp" hat als Standardwert den CURRENT_TIMESTAMP.
Zuletzt bearbeitet: