MySQL probeert standaard ongeldige waarden voor een kolom naar het juiste type te dwingen. Hier, de lege string ''
is van het type string, die noch een geheel getal noch NULL is. Ik stel voor de volgende stappen te nemen:
- Verander de zoekopdracht in het volgende:
INSERT INTO foo (bar) VALUES (NULL);
- Schakel de strikte modus in MySQL in. Dit voorkomt dat er zoveel onverwachte type- en waardeconversies plaatsvinden. U krijgt meer foutmeldingen te zien wanneer u iets probeert te doen wat MySQL niet verwacht, waardoor u problemen sneller kunt opsporen.