Du hänvisar aldrig till timestamp
kolumn i din fråga. Du har bara en sträng :
INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
^^^^^^^^^^^
Redigera:
Jag får detta med din uppdaterade kod:
Förutsatt att det fortfarande inte är den faktiska koden och efter att ha åtgärdat syntaxfelet kan jag inte återskapa dina resultat. Min välutbildade gissning är att id
är en automatiskt inkrementerad heltalsprimärnyckel, ditt nuvarande SQL-läge gör att MySQL tar ''
som NULL
och sätter in en ny rad... Men jag har inte riktigt testat den här hypotesen.
Min arbetskod är denna:
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='';
... och returnerar detta:
+------------+
| timestamp |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)