Je verwijst nooit naar de timestamp
kolom in uw vraag. Je hebt alleen een tekenreeks :
INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
^^^^^^^^^^^
Bewerken:
Ik krijg dit met je bijgewerkte code:
Ervan uitgaande dat het niet nog steeds de eigenlijke code is en na het oplossen van de syntaxisfout, kan ik uw resultaten niet reproduceren. Mijn weloverwogen gok is dat id
is een auto-verhoogde primaire sleutel met een geheel getal, uw huidige SQL-modus zorgt ervoor dat MySQL ''
neemt als NULL
en een nieuwe rij invoegen... Maar ik heb deze hypothese niet echt getest.
Mijn werkende code is deze:
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='';
... en geeft dit terug:
+------------+
| timestamp |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)