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

Код на грешка в MySQL:1411. Неправилна стойност за дата и час:'' за функция str_to_date

SQLException не идва директно от MySQL, вероятно се задейства от езика на вашия клиент. MySQL просто ще генерира предупреждение, което обикновено можете да игнорирате. Каквото и да е, ALLOW_INVALID_DATES SQL режимът трябва всъщност направете трика:

Предупреждение:

mysql> SET @@SESSION.sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE';
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test (date_created) VALUES (str_to_date('','%m/%d/%Y'));
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+-------------------------------------------------------+
| Level   | Code | Message                                               |
+---------+------+-------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '' for function str_to_date |
+---------+------+-------------------------------------------------------+
1 row in set (0.00 sec)

Без предупреждение:

mysql> SET @@SESSION.sql_mode='ALLOW_INVALID_DATES';
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test (date_created) VALUES (str_to_date('','%m/%d/%Y'));
Query OK, 1 row affected (0.03 sec)

Редактиране: Ако търсите начин да пренапишете заявката, можете да опитате нещо подобно:

update atable 
set adate=NULL
where anum='1'

Разбира се, това изисква този adate е нула.



  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 – това, което трябва да знаете

  2. Получаване на грешка 1366 Неправилна стойност на цяло число:'1' при импортиране на файл

  3. Предупреждение#1264:Грешка извън обхвата в mysql

  4. Изберете най-новия ред с GROUP BY в MySQL

  5. Изберете Родител и деца с MySQL