addExpression("SUBSTRING_INDEX(genid, ':', -1)", 'genvid'); $join_select->fields('li', array('lid', 'genid')); $insert_select = db_select('node', 'n') ->fields('n', array('nid', 'vid')) ->fields('l', array('genid', 'lid')); $insert_select->join($join_select, 'l', 'n.vid = l.genvid'); db_insert('location_instance_tmp') ->fields(array('nid', 'vid', 'genid', 'lid')) ->from($insert_select) ->execute(); // Update the location_instance table. db_delete('location_instance') ->condition('genid', 'cck:%', 'LIKE') ->execute(); $insert_select = db_select('location_instance_tmp', 'lit') ->fields('lit', array('nid', 'vid', 'genid', 'lid')); db_insert('location_instance') ->fields(array('nid', 'vid', 'genid', 'lid')) ->from($insert_select) ->execute(); // Remove the temporary table. db_drop_table('location_instance_tmp'); }