Tidak dapat menggunakan LIMIT delete dalam mysql join query antara berbilang jadual
P粉180844619
P粉180844619 2024-04-01 10:21:30
0
1
450

Ini adalah pertanyaan SQL saya:

DELETE gur
FROM group_master gm
JOIN group_users gu
ON gu.group_id=gm.id
JOIN group_user_roles gur
ON gur.group_user_id=gu.id
WHERE gm.school_code = 14741359 AND gm.ayid=3
LIMIT 1;

Saya mendapat ralat mengatakan terdapat ralat sintaks berhampiran LIMIT. Saya menemui penyelesaian di sini: PADAM menggunakan LEFT JOIN dengan LIMIT dalam MySQL. Saya tidak boleh menukar pertanyaan kepada pernyataan pilih.

P粉180844619
P粉180844619

membalas semua(1)
P粉166675898

Hanya meja tunggal DELETE menyokong LIMIT.

Gunakan pertanyaan sebagai SELECT dengan LIMIT dan dapatkan ID baris (ingat - LIMIT tanpa ORDER BY adalah loteri). Kemudian padamkan baris yang sepadan daripada salinan jadual yang lain.

DELETE group_user_roles 
FROM group_user_roles 
JOIN (SELECT gur.id
      FROM group_master gm
      JOIN group_users gu ON gu.group_id=gm.id
      JOIN group_user_roles gur ON gur.group_user_id=gu.id
      WHERE gm.school_code = 14741359 AND gm.ayid=3
      /* ORDER BY ??? */ LIMIT 1
      ) USING (id)

akan id 替换为 group_user_roles menjadi kunci utama atau lajur/ungkapan unik jadual.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan