Ini terdengar seperti semacam kondisi balapan. Anda menggunakan MyISAM, jadi ada kemungkinan pembaruan akan ditangguhkan (terutama jika ada banyak lalu lintas di tabel tersebut).
true
return menunjukkan bahwa select
. Anda kueri selesai dengan benar tetapi dikembalikan dan hasil kosong ditetapkan (tidak ada baris). Jika logika Anda ketika itu terjadi adalah menunggu, katakanlah, 50 milidetik, dan coba lagi, Anda mungkin menemukan bahwa semuanya berjalan dengan benar.
Sunting :Anda dapat mencoba mengunci tabel dari sebelum Anda melakukan UPDATE hingga Anda menyelesaikan SELECT terakhir. Tapi itu mungkin merusak kinerja bagian lain dari aplikasi Anda. Hal terbaik yang harus dilakukan adalah membuat aplikasi Anda kuat dalam menghadapi kondisi balapan.