Ако искате да актуализирате всички редове в data таблица, можете да направите нещо подобно:
UPDATE data
LEFT
JOIN node
ON node.title = data.name
SET data.id = node.nid
БЕЛЕЖКИ:
Ако има няколко реда в node със същата стойност за title , което съответства на name в data , не е определено кой от тези редове е стойността на nid ще бъде назначен от.
Ако има стойности на name в data таблица, които не са намерени в node таблица (в title колона), тогава на id ще бъде присвоена стойност NULL колона.
Някои промени в заявката могат да променят това поведение.
Възможно е да се постигне това с помощта на подзаявка, но бих използвал просто операция за присъединяване. Мисля, че бихте могли да използвате корелирана подзаявка, като тази:
UPDATE data
SET data.id = ( SELECT node.nid
FROM node
WHERE node.title = data.name
ORDER BY node.nid
LIMIT 1
)