Nå, det lyder som om dit navnefelt ikke er unikt. Din underforespørgsel matcher mere end én række, så du skal enten finde et unikt id at matche på andet end navn, eller også, hvis du bare vil tage det første resultat fra underforespørgslen, skal du gøre dette:
UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1
WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL