名前フィールドは一意ではないようです。サブクエリは複数の行に一致するため、名前以外で一致する一意のIDを見つける必要があります。そうでない場合は、サブクエリから最初の結果を取得する場合は、次のようにします。
UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1
WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL
名前フィールドは一意ではないようです。サブクエリは複数の行に一致するため、名前以外で一致する一意のIDを見つける必要があります。そうでない場合は、サブクエリから最初の結果を取得する場合は、次のようにします。
UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1
WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL