Sie beziehen sich nie auf den timestamp
Spalte in Ihrer Anfrage. Sie haben nur eine Zeichenfolge :
INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
^^^^^^^^^^^
Bearbeiten:
Ich bekomme das mit Ihrem aktualisierten Code:
Angenommen, es ist immer noch nicht der eigentliche Code und nachdem ich den Syntaxfehler behoben habe, kann ich Ihre Ergebnisse nicht reproduzieren. Meine fundierte Vermutung ist diese id
ein automatisch inkrementierter Integer-Primärschlüssel ist, veranlasst Ihr aktueller SQL-Modus MySQL, ''
zu verwenden als NULL
und Einfügen einer neuen Zeile... Aber ich habe diese Hypothese nicht wirklich getestet.
Mein Arbeitscode ist dieser:
CREATE TABLE `abc` (
`pk` INT(10) NOT NULL AUTO_INCREMENT,
`id` VARCHAR(10) NULL DEFAULT NULL,
`timestamp` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`pk`)
)
ENGINE=InnoDB;
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
-- Wait a few seconds
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
-- Wait a few seconds
INSERT INTO abc (id, timestamp) VALUES ('', UNIX_TIMESTAMP());
SELECT timestamp FROM abc WHERE id='';
... und gibt Folgendes zurück:
+------------+
| timestamp |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)