What is the proper way to remove the field in CCK and FILEFIELD module?? If I have a node is the best way $node->field_file_attach[0] = NULL or do I need to delete from content_field_file_attach and do a file_delete() ?

It appears so... Is this right? I really don't want to do the db_query and file_delete() bu don't want stuff left over.

$node = node_load($item->nid);
$count = db_result(db_query('SELECT count(*) from {content_field_file_attach} where field_file_attach_fid = %d',
$node->field_file_attach[0]['fid']));
if ($count) {
print "Found the file : $count\n";
db_query("UPDATE {content_field_file_attach} SET field_file_attach_fid = NULL,
field_file_attach_list = NULL, field_file_attach_data = NULL WHERE field_file_attach_fid = %d", $node->field_file_attach[0]['fid']);
}
file_delete($node->field_file_attach[0]['filepath']);
$node->field_file_attach[0] = NULL;
$node->status = 1;
$node->promote = 0; // Display on front page?
$node->sticky = 0; // Display top of page?
$node->format = 1; // Filtered HTML?
$node->validated = 1;
node_save($node);