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

Jaké jsou výhody a nevýhody různých typů polí data/času v MySQL?

  • TIMESTAMP je uložen v proprietární metodě MySQL (ačkoli je to v podstatě pouze řetězec skládající se z roku, měsíce, dne, hodiny, minut a sekund) a navíc pole typu TIMESTAMP se automaticky aktualizuje při každém vložení nebo změně záznamu, a to bez explicitního je zadána hodnota pole:

    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 je standardní datový typ pro data a časy, který funguje ve spojení s funkcemi data a času v MySQL. Asi bych to použil v praxi

  • Ukládání dat ve formátu INTEGER se nedoporučuje, protože otevíráte skutečnou plechovku červů kvůli zajímavým problémům, jako jsou časová pásma, přestupné roky a podobně - alespoň pokud máte v úmyslu dotazovat se na databázi na základě konkrétních dat uložených v toto pole.


  1. Příkaz SQL SELECT INTO

  2. Nelze se připojit k Vagrant pomocí HeidiSQL:Nelze se připojit k serveru MySQL na 'localhost'

  3. ORA-28000:Účet je uzamčen a dochází k časté chybě

  4. vyplňte zaškrtávací políčka a poté aktualizujte výběr na mysql