Bene, sembra che il campo del tuo nome non sia univoco. La tua sottoquery corrisponde a più di una riga, quindi devi trovare un ID univoco da abbinare oltre al nome, oppure, se vuoi semplicemente prendere il primo risultato dalla sottoquery, procedi come segue:
UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1
WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL