Si desea actualizar todas las filas en los data table, puedes hacer algo como esto:
UPDATE data
LEFT
JOIN node
ON node.title = data.name
SET data.id = node.nid
NOTAS:
Si hay varias filas en node con el mismo valor para title , que coincide con un name en data , es indeterminado cuál de esas filas tiene el valor de nid será asignado desde.
Si hay valores de name en los data tabla que no se encuentran en el node tabla (en el title columna), entonces se asignará un valor NULL al id columna.
Algunos ajustes a la consulta pueden modificar este comportamiento.
Es posible lograr esto usando una subconsulta, pero solo usaría una operación de unión. Creo que podría usar una subconsulta correlacionada, como esta:
UPDATE data
SET data.id = ( SELECT node.nid
FROM node
WHERE node.title = data.name
ORDER BY node.nid
LIMIT 1
)