Validação no checkbox

Boa tarde !!

Tenho um formulário de cadastro onde existe um campo checkbox, no banco é armazenado todos os valores marcados separados por ponto e vírgula, para separar esses dados criei uma tabela e um for para armazenar na nova tabela. Segue o script abaixo inserido no evento OnAfterInsert:

$id = {id};
$bairro_pref = {bairro_preferencia};
$separando = explode(";", $bairro_pref);

$count = count($separando);

for ($i=0; $i<$count ; $i++) {
$item = $separando[$i];

sc_exec_sql(“INSERT INTO tblcliente_check (id_cliente,bairro_preferencia) VALUES (’$id’,’$item’)”);
}

No formulário de alterar coloquei o seguinte código no evento OnAfterUpdate:

$id = {id};
$bairro_pref = {bairro_preferencia};
$separando = explode(";", $bairro_pref);

$count = count($separando);

for ($i=0; $i<$count ; $i++) {
$item = $separando[$i];

$sql = mysql_query(“select * from tblcliente_check where id_cliente = ‘$id’ and bairro_preferencia = ‘$item’”);

if(mysql_num_rows($sql) == 0){

  sc_exec_sql("INSERT INTO tblcliente_check  (id_cliente, bairro_preferencia) VALUES ('$id', '$item')");             

}
}

Ele atualiza se marcar um novo checkbox, mas se desmarcar não atualiza, já tentei colocar o Update, mas ele atualizava todo os checkbox substituindo os valores.

Alguém pode me ajudar?

Isso que você quer fazer, é facinho, mas tem que usar o método de ligação N-N neste campo no formulário:
https://www.youtube.com/watch?v=u-XZJrvtVHQ

Veja aqui também:
http://www.scriptcase.com.br/forum/index.php/topic,9018.0.html