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

Заявката с два клейма за време не работи

TIMESTAMP всъщност е подобен на DATETIME, но първият TIMESTAMP, който декларирате, получава автоматична инициализация:

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

Така че, когато пишете TIMESTAMP без атрибути за първи път, MySQL го преобразува вътрешно, добавяйки "DEFAULT CURRENT_TIMESTAMP". Когато MySQL срещне втория TIMESTAMP, където изрично сте задали CURRENT_TIMESTAMP, влиза в конфликт.

Ако обаче дефинирате CURRENT_TIMESTAMP в първия ред, тогава той е излишен - и тъй като не указвате нищо във втория, на втория не се присвоява стойност по подразбиране и не влиза в конфликт.

От връзката по-горе, "Не е необходимо първата колона TIMESTAMP в таблица, която автоматично се инициализира или актуализира до текущия timestamp. Въпреки това, за да посочите автоматично инициализиране или актуализиране за различна колона 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. PHP Проверете последния ред на MySQL

  2. MySQL JOIN / GROUP_CONCAT втора таблица?

  3. Дублирани набори от данни, вмъкнати в таблицата

  4. Заместващият знак в най-лявата колона на съставния индекс означава ли, че останалите колони в индекса не се използват при търсене на индекс (MySQL)?

  5. Създаване на формуляр за търсене в PHP за търсене в база данни?