UPDATE tobeupdated
INNER JOIN original ON (tobeupdated.value = original.value)
SET tobeupdated.id = original.id
Itu harus melakukannya, dan benar-benar melakukan apa yang menjadi milik Anda. Namun, saya lebih suka sintaks 'JOIN' untuk bergabung daripada beberapa kondisi 'WHERE', saya pikir lebih mudah dibaca
Sedangkan untuk berjalan lambat, seberapa besar tabelnya? Anda harus memiliki indeks di tobeupdated.value
dan original.value
EDIT:kami juga dapat menyederhanakan kueri
UPDATE tobeupdated
INNER JOIN original USING (value)
SET tobeupdated.id = original.id
USING
adalah singkatan ketika kedua tabel gabungan memiliki nama key
yang identik seperti id
. yaitu sebuah equi-join - http://en.wikipedia.org/ wiki/Join_(SQL)#Equi-join