Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak ustawić domyślną wartość dla kolumny MySQL Datetime?

WAŻNA EDYCJA: Teraz można to osiągnąć za pomocą pól DATETIME od wersji MySQL 5.6.5 , spójrz na inny post poniżej...

Poprzednie wersje nie mogą tego zrobić z DATETIME...

Ale możesz to zrobić za pomocą TIMESTAMP:

mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.00 sec)

mysql> desc test;
+-------+-------------+------+-----+-------------------+-------+
| Field | Type        | Null | Key | Default           | Extra |
+-------+-------------+------+-----+-------------------+-------+
| str   | varchar(32) | YES  |     | NULL              |       | 
| ts    | timestamp   | NO   |     | CURRENT_TIMESTAMP |       | 
+-------+-------------+------+-----+-------------------+-------+
2 rows in set (0.00 sec)

mysql> insert into test (str) values ("demo");
Query OK, 1 row affected (0.00 sec)

mysql> select * from test;
+------+---------------------+
| str  | ts                  |
+------+---------------------+
| demo | 2008-10-03 22:59:52 | 
+------+---------------------+
1 row in set (0.00 sec)

mysql>

OSTRZEŻENIE: JEŚLI zdefiniujesz kolumnę z domyślną wartością CURRENT_TIMESTAMP ON, będziesz musiał ZAWSZE określić wartość dla tej kolumny, w przeciwnym razie wartość automatycznie zresetuje się do „now()” podczas aktualizacji. Oznacza to, że jeśli nie chcesz, aby wartość się zmieniała, instrukcja UPDATE musi zawierać „[nazwa Twojej kolumny] =[nazwa Twojej kolumny]” (lub inną wartość), w przeciwnym razie wartość stanie się „now()”. Dziwne, ale prawdziwe. Używam 5.5.56-MariaDB



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Emotikony iPhone'a wstawiają się do MySQL, ale stają się pustą wartością

  2. Tabela aktualizacji MySQL na podstawie innej wartości tabeli

  3. Poruszanie się po MySQL Błąd nie można ponownie otworzyć tabeli

  4. ROW_NUMBER w SQL — wybierz najlepszy przykład w SQL i SQL Server

  5. Naucz się podstawowych zapytań SQL przy użyciu MySQL