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

Hvad er fordele og ulemper ved de forskellige dato/klokkeslæt felttyper i MySQL?

  • TIMESTAMP er gemt i en MySQL proprietær metode (selvom det dybest set kun er en streng bestående af år, måned, dag, time, minutter og sekunder) og desuden opdateres et felt af typen TIMESTAMP automatisk, hver gang posten indsættes eller ændres og ikke udtrykkeligt feltværdi er angivet:

    mysql> create table timestamp_test(
        id integer not null auto_increment primary key, 
        val varchar(100) not null default '', ts timestamp not null); 
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into timestamp_test (val) values ('foobar');
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from timestamp_test;
    +----+--------+----------------+
    | id | val    | ts             |
    +----+--------+----------------+
    |  1 | foobar | 20090122174108 |
    +----+--------+----------------+
    1 row in set (0.00 sec)
    
    mysql> update timestamp_test set val = 'foo bar' where id = 1;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> select * from timestamp_test;
    +----+---------+----------------+
    | id | val     | ts             |
    +----+---------+----------------+
    |  1 | foo bar | 20090122174123 |
    +----+---------+----------------+
    1 row in set (0.00 sec)
    
    mysql> 
    
  • DATETIME er standarddatatypen for datoer og klokkeslæt, som fungerer sammen med dato- og tidsfunktionerne i MySQL. Jeg ville nok bruge dette i praksis

  • Det anbefales ikke at gemme datoer i INTEGER-format, da du åbner en rigtig dåse orme på grund af interessante problemer som tidszoner, skudår og lignende - i det mindste hvis du har til hensigt at forespørge databasen baseret på specifikke datoer gemt i det felt.


  1. MySQL backup og gendannelseskommandoer til databaseadministration

  2. MySQL-replikering:Hvis jeg ikke angiver nogen databaser, vil log_bin så logge ALT?

  3. Vis Mysql-tabelfeltværdier i feltet Vælg

  4. MySQL indstille AUTO_INCREMENT værdi til MAX(id) + 1 genvej?