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
)