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

Kiedy sygnatura czasowa (automatycznie) jest aktualizowana?

Wydaj polecenie SHOW CREATE TABLE whatever

Następnie spójrz na definicję tabeli .

Prawdopodobnie ma taką linię

logtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

w tym. DEFAULT CURRENT_TIMESTAMP oznacza, że ​​każdy INSERT bez wyraźnego ustawienia znacznika czasu używa aktualnego czasu. Podobnie, ON UPDATE CURRENT_TIMESTAMP oznacza, że ​​każda aktualizacja bez wyraźnego znacznika czasu skutkuje aktualizacją bieżącej wartości znacznika czasu.

Możesz kontrolować to domyślne zachowanie podczas tworzenia tabeli.

Lub, jeśli kolumna sygnatury czasowej nie została utworzona poprawnie, możesz ją zmienić.

ALTER TABLE whatevertable
     CHANGE whatevercolumn 
            whatevercolumn TIMESTAMP NOT NULL
                           DEFAULT CURRENT_TIMESTAMP 
                           ON UPDATE CURRENT_TIMESTAMP;

Spowoduje to, że zarówno operacje INSERT, jak i UPDATE w tabeli automatycznie zaktualizują kolumnę sygnatury czasowej. Jeśli chcesz zaktualizować whatevertable bez zmiany znacznika czasu, czyli

musisz wydać tego rodzaju aktualizację.

UPDATE whatevertable
   SET something = 'newvalue',
       whatevercolumn = whatevercolumn
 WHERE someindex = 'indexvalue'

Działa to z TIMESTAMP i DATETIME kolumny. (Przed wersją 5.6.5 MySQL działał tylko z TIMESTAMP s) Kiedy używasz TIMESTAMP s, uwzględniane są strefy czasowe:na prawidłowo skonfigurowanej maszynie serwerowej wartości te są zawsze przechowywane w UTC i po pobraniu tłumaczone na czas lokalny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_EXTRACT() – Zwróć dane z dokumentu JSON w MySQL

  2. Jak wstawić domyślne dane do tabeli za pomocą pliku import.sql w Hibernate, aplikacji MySQL?

  3. Używanie LIMIT 1 w MySQL

  4. DAO.Recordset.Update powoduje blokadę zapisu

  5. F# Beginner:pobieranie tablicy danych z serwera