sql >> Databasteknik >  >> RDS >> Mysql

Tom sträng som infogar en nolla, inte en noll

MySQL försöker som standard tvinga ogiltiga värden för en kolumn till rätt typ. Här, den tomma strängen '' är av typen sträng, som varken är ett heltal eller NULL. Jag föreslår att du gör följande:

  1. Ändra frågan till följande:INSERT INTO foo (bar) VALUES (NULL);
  2. Aktivera strikt läge i MySQL. Detta förhindrar att så många oväntade typ- och värdekonverteringar inträffar. Du kommer att se fler felmeddelanden när du försöker göra något som MySQL inte förväntar sig, vilket hjälper dig att upptäcka problem snabbare.


  1. Hur kan jag lägga till ON DELETE-begränsning i tabellen?

  2. Förbättra SQL INSERT-frågan för att undvika sql-injektioner

  3. InMemory DUBLIKAT Förvirring i Oracle RAC

  4. Beräknar medianen med Mysql