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

Nieprawidłowa wartość DateTime '0000-00-00 00:00:00' — Date_Sub() w posiadaniu

Pierwsza opcja:

To ostrzeżenie prawdopodobnie może być spowodowane SQL_MODE .

Zgodnie z dokumentacją mysql "Jeśli włączony jest tryb SQL NO_ZERO_DATE lub NO_ZERO_IN_DATE, daty zerowe lub część dat są niedozwolone." Więc może to być przyczyną twojego INSERT z „0000-00-00 00:00:00” nie powiedzie się.

Możesz sprawdzić swój tryb sql, wykonując to:

SELECT @@sql_mode;

i jeśli którykolwiek z NO_ZERO_DATE lub NO_ZERO_IN_DATE są ustawione, możesz po prostu:

SET sql_mode = '';

Druga opcja

Inną opcją jest to, że kończy się niepowodzeniem z powodu STRICT_TRANS_TABLES mode.Jak mówi dokumentacja mysql:

To samo dotyczy daty i godziny.

Musisz więc albo wyłączyć TRYB ŚCISŁY LUB jeśli wyłączenie nie jest opcją - zmodyfikuj zapytanie, aby nie zwracało nieprawidłowej daty/godziny



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw MySQL do Wybierz

  2. jak uzyskać całkowitą liczbę wierszy za pomocą mysqli

  3. nowy certyfikat efemeryczny wygasa zbyt wcześnie:aktualny czas:M

  4. Jak uzyskać dostęp do elementów tablicy

  5. Dlaczego niektóre typy przygotowanych zapytań wykorzystujących PDO w PHP z MySQL są wolne?