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

Ustawić NOW() jako wartość domyślną dla typu danych datetime?

Od MySQL 5.6.5 możesz użyć DATETIME wpisz z dynamiczną wartością domyślną:

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

Lub nawet połącz obie zasady:

modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Odniesienie:
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

Przed 5.6.5 musisz użyć TIMESTAMP typ danych, który automatycznie aktualizuje się po każdej modyfikacji rekordu. Niestety jednak tylko jeden automatycznie zaktualizowany TIMESTAMP pole może istnieć w tabeli.

CREATE TABLE mytable (
  mydate TIMESTAMP
)

Zobacz:http://dev.mysql.com/doc /refman/5.1/en/create-table.html

Jeśli chcesz, aby MySQL nie aktualizował wartości znacznika czasu w UPDATE (aby uruchamiał się tylko przy INSERT ) możesz zmienić definicję na:

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. W przypadku aktualizacji zduplikowanego klucza tak samo jak w przypadku wstawiania

  2. wygeneruj dni z zakresu dat

  3. Przewodnik po projektowaniu bazy danych dla systemu zarządzania pracownikami w MySQL

  4. Jaki jest maksymalny rozmiar zapytania dla mysql?

  5. Jak połączyć się z serwerem MySQL po zainstalowaniu XAMPP w systemie Mac OS