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

Задаване СЕГА() като стойност по подразбиране за тип данни за дата и час?

От MySQL 5.6.5 можете да използвате DATETIME тип с динамична стойност по подразбиране:

CREATE TABLE foo (
    creation_time      DATETIME DEFAULT   CURRENT_TIMESTAMP,
    modification_time  DATETIME ON UPDATE CURRENT_TIMESTAMP
)

Или дори комбинирайте двете правила:

modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Справка:
http://dev.mysql .com/doc/refman/5.7/en/timestamp-initialization.html
http://optimize -this.blogspot.com/2012/04/datetime-default-now-finally-available.html

Преди 5.6.5, трябва да използвате TIMESTAMP тип данни, който автоматично се актуализира всеки път, когато записът бъде променен. За съжаление обаче само един автоматично актуализиран TIMESTAMP поле може да съществува за всяка таблица.

CREATE TABLE mytable (
  mydate TIMESTAMP
)

Вижте:http://dev.mysql.com/doc /refman/5.1/en/create-table.html

Ако искате да попречите на MySQL да актуализира стойността на времевата марка при UPDATE (така че се задейства само при INSERT ) можете да промените определението на:

CREATE TABLE mytable (
  mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Активирайте поддръжката на MySQL InnoDB Storage Engine в инсталацията на XAMPP

  2. Преглед на продукта – Stellar Repair за MySQL

  3. Производителност на пакетно вмъкване на JDBC

  4. Извличане на един ред, една колона със ЗНП

  5. Речник на базата данни на DevOps за начинаещи в MySQL