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

Неправилна стойност на DateTime '0000-00-00 00:00:00' - Date_Sub() в

Първа опция:

Това предупреждение вероятно може да се дължи на SQL_MODE .

Според документацията на mysql "Ако SQL режимът NO_ZERO_DATE или NO_ZERO_IN_DATE е активиран, нулевите дати или част от датите са забранени.". Така че това може да е причината за вашия INSERT с '0000-00-00 00:00:00' е неуспешен.

Можете да проверите вашия sql режим, като изпълните това:

SELECT @@sql_mode;

и ако някой от NO_ZERO_DATE или NO_ZERO_IN_DATE са зададени, тогава можете просто:

SET sql_mode = '';

Втора опция

Другата опция е, че не работи поради STRICT_TRANS_TABLES mode. Както се казва в документацията на mysql:

Същото важи и за дата и час.

Така че трябва или да деактивирате СТРОГИЯ РЕЖИМ ИЛИ ако деактивирането му не е опция - променете заявката, така че да не връща невалиден резултат за дата/дата и час



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за получаване на средна стойност за определени периоди от време

  2. Индекс на PostgreSQL срещу индекс InnoDB - Разбиране на разликите

  3. КЪДЕ срещу ИМАНЕ

  4. Изтрийте данни от mysql и angular

  5. Изпълнение на множество SQL оператори от Groovy