MySQL domyślnie próbuje wymusić poprawny typ niepoprawnych wartości dla kolumny. Tutaj pusty ciąg ''
jest typu string, który nie jest ani liczbą całkowitą, ani NULL. Proponuję wykonać następujące kroki:
- Zmień zapytanie na następujące:
INSERT INTO foo (bar) VALUES (NULL);
- Włącz tryb ścisły w MySQL. Zapobiega to występowaniu tylu nieoczekiwanych konwersji typów i wartości. Zobaczysz więcej komunikatów o błędach, gdy spróbujesz zrobić coś, czego MySQL nie oczekuje, co pomoże Ci szybciej wykryć problemy.