db_insert error delta "doesn't have a default"
Without knowing the circumstances, I think you might better off loading your node,  adding to the field array, then using the node save function. But if you want to stick with DB operations, you could retrieve the next highest cardinality with this query:

  $next_delta = db_select('field_data_field_room_rates','rates')
    -&gt;fields('rates', array('delta'))
    -&gt;condition('entity_id', $mynode-&gt;nid)
    -&gt;condition('revision_id', $mynode-&gt;vid)
    -&gt;orderBy('delta','DESC')
    -&gt;range(0,1)
    -&gt;execute()-&gt;fetchField() + 1;