Rumah  >  Artikel  >  pangkalan data  >  Mengapa MySQL Melemparkan Ralat \"Penggunaan UPDATE dan LIMIT yang Salah\" Semasa Mengemas kini Berbilang Jadual?

Mengapa MySQL Melemparkan Ralat \"Penggunaan UPDATE dan LIMIT yang Salah\" Semasa Mengemas kini Berbilang Jadual?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 06:49:29934semak imbas

Why Does MySQL Throw an

Penggunaan KEMASKINI dan LIMIT yang Salah dengan Berbilang Jadual dalam MySQL

Apabila mengemas kini berbilang jadual menggunakan operasi JOIN dalam MySQL, sekatan tertentu dikenakan. Satu sekatan sedemikian ialah ketidakupayaan untuk menggunakan klausa LIMIT, seperti yang ditunjukkan oleh mesej ralat "Penggunaan KEMASKINI dan LIMIT yang salah."

Cara Membetulkan Isu:

Menurut dokumentasi MySQL untuk UPDATE, "Untuk sintaks berbilang jadual, UPDATE mengemas kini baris dalam setiap jadual yang dinamakan dalam table_references yang memenuhi syarat. Dalam kes ini, ORDER BY dan LIMIT tidak boleh digunakan."

Oleh itu, dalam coretan kod yang anda berikan:

<code class="php">$q = "UPDATE users INNER JOIN contact_info ON contact_info.user_id = users.user_id SET active.users = NULL WHERE (email.contact_info = '" . mysqli_real_escape_string($mysqli, $x) . "' AND active.users = '" . mysqli_real_escape_string($mysqli, $y) . "') LIMIT 1";</code>

Untuk membetulkan isu, anda mesti mengalih keluar klausa LIMIT 1. Ini akan menyebabkan kemas kini digunakan pada semua baris yang sepadan dalam kedua-dua jadual "pengguna" dan "info_hubungan", mengikut syarat yang ditetapkan.

Atas ialah kandungan terperinci Mengapa MySQL Melemparkan Ralat \"Penggunaan UPDATE dan LIMIT yang Salah\" Semasa Mengemas kini Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn