obvio, solo se envía el
value si se ha seleccionado, osea... que al no marcarlo, no se envía lock....
para lograr tu efecto, es sencillo
Código PHP:
$foo = isset($_POST['bar'])? ' 1 ': ' NULL ';
$sql = "UPDATE tabla SET candy=$foo";
y ahí, tienes tu variable...
¿porque dices que no inserta???