Sangat, pasti, tolong, gunakan metode ke-2 ... I.E. menelusuri catatan dan memperbarui.
Alasan cepat untuk tidak menggunakan tabel sementara:
- Jika Anda menggunakan tabel sementara MySQL, tabel tersebut dapat dilihat oleh sesi saat ini; yang sebenarnya dapat dibagikan oleh beberapa sesi jika Anda menggunakan koneksi persisten. Jika Anda menjalankan skrip dua kali secara bersamaan, itu dapat menyebabkan beberapa kerusakan data. Hal yang sama berlaku untuk membuat tabel nyata.
Yang harus Anda lakukan adalah:
- Ambil semua data Anda, atau setidaknya ambil kembali dalam kumpulan logis (dalam hal ini, dapat dilakukan dengan mengambil hanya baris dari "koleksi" tertentu, misalnya buah)
- Urutkan baris (ini juga bisa dilakukan sebelumnya dalam kueri SQL)
- Perbarui baris menggunakan penghitung, persis seperti yang Anda usulkan