sql >> Databáze >  >> RDS >> Mysql

mysql dotaz - problém vložení dat unix_timestamp (nyní ( ) ).

Nikdy neodkazujete na timestamp sloupec ve vašem dotazu. Máte pouze řetězec :

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

Upravit:

Dostávám to s vaším aktualizovaným kódem:

Za předpokladu, že to stále není skutečný kód, a po opravě syntaktické chyby nemohu vaše výsledky reprodukovat. Můj kvalifikovaný odhad je, že id je automaticky inkrementovaný primární klíč celého čísla, váš aktuální režim SQL umožňuje MySQL převzít '' jako NULL a vložení nového řádku... Ale tuto hypotézu jsem ve skutečnosti netestoval.

Můj pracovní kód je tento:

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

... a vrátí toto:

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



  1. Jaké jsou rozdíly mezi seskupeným a neshlukovaným indexem?

  2. Příkaz Delete byl v Oracle velmi pomalý

  3. Transakce MySQL

  4. Nenechte se zmást bazénem streamů