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

ГРЕШКА 1067 (42000):Невалидна стойност по подразбиране за 'end_time'

MySQL третира timestamp по специален начин, това е малко трудно да се намери в документация когато не знаете какво търсите:

Това означава, че вторият ви timestamp not null колоната ще получи имплицитна стойност по подразбиране от '0000-00-00 00:00:00' , което не е разрешено в комбинация с NO ZERO DATE и строго sql режим (който по подразбиране е активиран в MySQL 5.7) и води до вашата грешка.

За да разрешите проблема си, активирайте опцията --explicit_defaults_for_timestamp . Той третира timestamp колони, както очаквахте (и така или иначе ще бъде поведението по подразбиране в някоя бъдеща версия на MySQL), или им позволете да бъдат null .



  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 Compress() с sqlalchemy

  2. Надстройте MySQL до MariaDB 10 (Част 1 – Инсталирайте MariaDB 5.5)

  3. Актуализирайте първичния ключ Django MySQL

  4. Създайте ново приложение Ruby on Rails, използвайки MySQL вместо SQLite

  5. Стойност по подразбиране на ниво Django DB за колона