Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да зададете стойност по подразбиране за колона за дата и час на MySQL?

ВАЖНА РЕДАКТИРАНЕ: Вече е възможно да се постигне това с полета DATETIME след MySQL 5.6.5 , разгледайте друга публикация по-долу...

Предишните версии не могат да направят това с DATETIME...

Но можете да го направите с 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>

ПРЕДУПРЕЖДЕНИЕ: АКО дефинирате колона с CURRENT_TIMESTAMP ON по подразбиране, ще трябва ВИНАГИ да посочите стойност за тази колона или стойността автоматично ще се нулира до „now()“ при актуализиране. Това означава, че ако не искате стойността да се променя, вашият оператор UPDATE трябва да съдържа "[името на колоната ви] =[името на колоната ви]" (или някаква друга стойност) или стойността ще стане "сега()". Странно, но вярно. Използвам 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. JDBC MySql практики за обединяване на връзки, за да се избегне изчерпаният пул за връзки

  2. Вземете текущата стойност AUTO_INCREMENT за всяка таблица

  3. JSON_ARRAYAGG() – Създайте JSON масив от редовете на заявка в MySQL

  4. Извличане на ТОП 10 реда, без да използвате TOP или LIMIT? – Въпрос за интервю на седмицата #247

  5. Меню на дърво за изграждане на PHP / MySQL