-- Only insert them if they don't exist INSERT INTO dev.blocks (names) SELECT names FROM dev.tmp_blocks WHERE names NOT IN ( SELECT names from dev.blocks ) INSERT INTO dev.vials (block_id, lt, well_position, gene, barcode) SELECT block_id, lt, well_position, gene, barcode FROM dev.tmp_vials WHERE ... clause to prevent inserting duplicates ...