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

Zapytanie z dwoma znacznikami czasu nie działa

TIMESTAMP jest w rzeczywistości podobny do a DATETIME, ale pierwszy zadeklarowany TIMESTAMP zostanie automatycznie zainicjowany:

http://dev.mysql.com/doc/refman /5.0/pl/timestamp-initialization.html

Więc kiedy piszesz TIMESTAMP bez atrybutów po raz pierwszy, MySQL konwertuje go wewnętrznie dodając "DEFAULT CURRENT_TIMESTAMP". Gdy MySQL napotka drugi TIMESTAMP, w którym jawnie ustawisz CURRENT_TIMESTAMP, wystąpi konflikt.

Jeśli jednak zdefiniujesz CURRENT_TIMESTAMP w pierwszym wierszu, jest to zbyteczne - a ponieważ nie określisz nic w drugim, drugiemu nie zostanie przypisana wartość domyślna i nie wejdzie w konflikt.

Z powyższego linku:„Nie musi to być pierwsza kolumna TIMESTAMP w tabeli, która jest automatycznie inicjowana lub aktualizowana do bieżącego znacznika czasu. Jednak, aby określić automatyczną inicjalizację lub aktualizację dla innej kolumny TIMESTAMP, należy pominąć automatyczne właściwości dla pierwszy."




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transakcje MySQL i współbieżne wstawki

  2. Wybierz wiele duplikatów pól z bazy danych MySQL

  3. Wiosenna partia z aliasem kolumny jako kluczem sortowania - zniekształcona instrukcja gdzie

  4. Pobierz hierarchię z tabeli takiej jak ta

  5. Jak wysyłać e-maile, gdy upływający czas automatycznie dochodzi do określonych godzin?