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

Kod błędu MySQL:1411. Nieprawidłowa wartość daty i godziny:„” dla funkcji str_to_date

SQLException nie pochodzi bezpośrednio z MySQL, prawdopodobnie jest uruchamiany przez język klienta. MySQL wygeneruje po prostu ostrzeżenie, które normalnie możesz zignorować. W każdym razie ALLOW_INVALID_DATES Tryb SQL powinien faktycznie zrób sztuczkę:

Ostrzeżenie:

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)

Brak ostrzeżenia:

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)

Edytuj: Jeśli szukasz sposobu na przepisanie zapytania, możesz spróbować czegoś takiego:

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

Oczywiście wymaga to adate jest nullable.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. struktura mysql dla postów i komentarzy

  2. Jak zaktualizować tabelę automatycznie, gdy inna tabela jest aktualizowana na innym serwerze mysql?

  3. Jak rozwiązać org.hibernate.QueryException:Nie wszystkie nazwane parametry zostały ustawione jako błąd?

  4. mysql lewe złącze zewnętrzne

  5. Przetwarzanie wyniku MySQL w bash