Mysql
 sql >> Database >  >> RDS >> Mysql

query mysql - inserire i dati unix_timestamp ( now ( ) ) problema

Non fai mai riferimento al timestamp colonna nella tua domanda. Hai solo una stringa :

INSERT INTO `abc` (id, 'timestamp') VALUES ('', UNIX_TIMESTAMP ( NOW () ) )
                       ^^^^^^^^^^^

Modifica:

Ottengo questo con il tuo codice aggiornato:

Supponendo che non sia ancora il codice effettivo e dopo aver corretto l'errore di sintassi, non riesco a riprodurre i risultati. La mia ipotesi plausibile è che id è una chiave primaria intera auto-incrementata, la tua attuale modalità SQL sta facendo sì che MySQL prenda '' come NULL e inserendo una nuova riga... Ma non ho proprio testato questa ipotesi.

Il mio codice di lavoro è questo:

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='';

... e restituisce questo:

+------------+
| timestamp  |
+------------+
| 1342694445 |
| 1342694448 |
| 1342694450 |
+------------+
3 rows in set (0.00 sec)