sql >> Database >  >> RDS >> Mysql

Onjuiste DateTime-waarde '0000-00-00 00:00:00' - Date_Sub() in Having

Eerste optie:

Deze waarschuwing kan waarschijnlijk te wijten zijn aan de SQL_MODE .

Volgens mysql-documentatie "Als de NO_ZERO_DATE of NO_ZERO_IN_DATE SQL-modus is ingeschakeld, zijn nuldatums of een deel van datums niet toegestaan.". Dit kan dus de oorzaak zijn van uw INSERT met '0000-00-00 00:00:00' mislukt.

U kunt uw sql-modus controleren door dit uit te voeren:

SELECT @@sql_mode;

en als een van de NO_ZERO_DATE of NO_ZERO_IN_DATE zijn ingesteld, kunt u gewoon:

SET sql_mode = '';

Tweede optie

De andere optie is dat het niet werkt vanwege de STRICT_TRANS_TABLES mode.Zoals de mysql-documentatie zegt:

Hetzelfde geldt voor datetime.

U moet dus ofwel de STRIKTE MODUS uitschakelen OF als uitschakelen geen optie is - pas de zoekopdracht aan zodat deze geen ongeldig datum/datum-tijd resultaat retourneert



  1. PostgreSQL-anonimisering op aanvraag

  2. Hoe maak je een schema in Oracle met SQL Developer?

  3. Query voor gebruikers die niet in een specifieke groep zitten? (Wilde BEHALVE gebruiken, maar het lijkt erop dat MySQL dit niet ondersteunt)

  4. Hernoem kolom SQL Server 2008