Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage - Daten einfügen unix_timestamp (jetzt ()) Problem

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)