Ciao a tutti non riesco a risolvere questo problemino... so che posso risolvere (o meglio sdeviarlo) impostando la variabile sql_mode = "" ma preferire venirci a capo...

praticamente sto facendo un inserimento di dati in DB (MySql 5) il quale contiene dei campi tipo cap, abi, cab, nconto, ecc... definiti come:
int(nn), unsigned, null, default=0
Se li valorizzo non mi dice nulla ma se li tralascio mi da errore:
codice:
1264 : Out of range value adjusted for column \'Cap\' at row 1
il mio pezzettino di codice php dove preparo la query:
Codice PHP:
$capTO mysql_escape_string($_POST['capTO']);
if (
$capTO == ""){
    
$capTO null;
}
$query "INSERT INTO tab ('Cap') VALUES ('$capTO')";
if (
mysql_query($query$conn)) { ecc... 
avete qualche consiglio per me??