Anda mendapatkan kesalahan itu, karena Anda mencoba memperbarui screening
tabel dan pada saat yang sama mendapatkan id dari tabel yang sama (bergabung dengan users
). Solusi untuk ini, adalah dengan menggunakan subquery, seperti:
UPDATE screening
SET maileddate = date('Y-m-d', strtotime($mailed_date[$screeningId]))
WHERE user_id IN (
select s.id
from (
SELECT users.id
FROM users
INNER JOIN screening ON
users.id = screening.users_id
AND screening.id = {$screeningId}
) as s)
AND date BETWEEN 05-15/2011 AND 11-15-2011
LIMIT 2
Saya hanya mengubah lekukan dan menambahkan subquery dalam huruf kecil.