sql >> Databáze >  >> RDS >> Mysql

Nesprávná hodnota DateTime '0000-00-00 00:00:00' - Date_Sub() v Having

První možnost:

Toto varování by pravděpodobně mohlo být způsobeno SQL_MODE .

Podle dokumentace mysql "Pokud je povolen režim NO_ZERO_DATE nebo NO_ZERO_IN_DATE SQL, nejsou povolena žádná data nebo část dat.". Takže to může být příčinou vašeho INSERT s '0000-00-00 00:00:00' selže.

Svůj sql režim můžete zkontrolovat provedením tohoto:

SELECT @@sql_mode;

a pokud některý z NO_ZERO_DATE nebo NO_ZERO_IN_DATE jsou nastaveny, pak můžete jen:

SET sql_mode = '';

Druhá možnost

Druhá možnost je, že selhává kvůli STRICT_TRANS_TABLES mode.Jak říká dokumentace mysql:

Totéž platí pro datum a čas.

Takže musíte buď zakázat PŘÍSNÝ REŽIM NEBO pokud to není možné zakázat - upravte dotaz tak, aby nevracel neplatný výsledek datum/datum a čas



  1. Ověření prostorové geometrie MySQL wkt

  2. Propojení MySql s Androidem bez použití PHP

  3. Vyhněte se opakování záznamů zobrazovaných v MySQL / PHP

  4. Mysql vloží náhodné datum a čas v daném rozsahu data a času