How to programmatically modify fields of taxonomy terms?
The column name for a field isn't always value; in the case of taxonomy term references it's tid, and in the case of node/entity references it depends on what module you're using. 

For a field created using the References module the name is nid, and for one created using the Entity Reference module, it's target_id.

The following code should work a bit better:

//hook_node_insert fires after new node has been inserted into db
function MYMODULE_node_insert($node)
{
    $taxonomy_term_id = $node-&gt;field_FRUIT[LANGUAGE_NONE][0]['tid'];

    // $value['tid'] isn't defined anywhere in this function scope so I 
    // assume you meant to use $taxonomy_term_id here
    $taxonomy_term = taxonomy_term_load($taxonomy_term_id);
    if($taxonomy_term != FALSE)
    {
        $column_name = 'nid'; // Or 'target_id' if you're using entity reference            

        $taxonomy_term-&gt;field_main_article_id[LANGUAGE_NONE][0][$column_name] = $node-&gt;nid;
        taxonomy_term_save($taxonomy_term);
    }
}