Jika Anda ingin memperbarui semua baris di data tabel, Anda dapat melakukan sesuatu seperti ini:
UPDATE data
LEFT
JOIN node
ON node.title = data.name
SET data.id = node.nid
CATATAN:
Jika ada beberapa baris di node dengan nilai yang sama untuk title , yang cocok dengan name dalam data , tidak dapat ditentukan dari baris mana nilai nid akan ditugaskan dari.
Jika ada nilai name di data tabel yang tidak ditemukan di node tabel (dalam title kolom), maka nilai NULL akan diberikan ke id kolom.
Beberapa penyesuaian pada kueri dapat mengubah perilaku ini.
Dimungkinkan untuk mencapai ini menggunakan subquery, tetapi saya hanya akan menggunakan operasi gabungan. Saya pikir Anda bisa menggunakan subquery yang berkorelasi, seperti ini:
UPDATE data
SET data.id = ( SELECT node.nid
FROM node
WHERE node.title = data.name
ORDER BY node.nid
LIMIT 1
)