Е, изглежда, че вашето поле за име не е уникално. Вашата подзаявка съвпада с повече от един ред, така че или трябва да намерите уникален идентификатор за съвпадение, различен от името, или ако искате просто да вземете първия резултат от подзаявката, направете следното:
UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1
WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL