Rumah > pangkalan data > tutorial mysql > MySQL JIKA WUJUD Klausa: Mengapa Pertanyaan Saya Ralat Keluar?

MySQL JIKA WUJUD Klausa: Mengapa Pertanyaan Saya Ralat Keluar?

Mary-Kate Olsen
Lepaskan: 2024-12-14 19:43:13
asal
1056 orang telah melayarinya

MySQL IF EXISTS Clause: Why Do My Queries Error Out?

JIKA WUJUD Klausa dalam MySQL: Penggunaan dan Penyelesaian Masalah

Walaupun klausa IF EXISTS MySQL popular, persoalan timbul mengenai pelaksanaannya yang betul. Artikel ini meneroka isu biasa di mana kedua-dua pertanyaan yang diberikan mengembalikan mesej ralat.

Sebab utama ralat ini terletak pada percubaan untuk menggunakan blok kawalan IF di luar fungsi. Had ini memberi kesan kepada kedua-dua pertanyaan:

IF EXISTS (SELECT * FROM gdata_calendars WHERE `group` = ? AND id = ?) SELECT 1 ELSE SELECT 0
Salin selepas log masuk

dan

IF ((SELECT COUNT(*) FROM gdata_calendars WHERE `group` = ? AND id = ?) > 0) SELECT 1 ELSE SELECT 0
Salin selepas log masuk

Penyelesaian Masalah dan Penyelesaian

Untuk menyelesaikan isu, tukar klausa EXISTS kepada subkueri dalam fungsi IF :

SELECT IF(EXISTS(
             SELECT *
             FROM gdata_calendars
             WHERE `group` = ? AND id = ?), 1, 0)
Salin selepas log masuk

Selain itu, boolean dikembalikan sebagai 1 atau 0, jadi pertanyaan berikut sudah memadai:

SELECT EXISTS(
         SELECT *
         FROM gdata_calendars
         WHERE `group` = ? AND id = ?)
Salin selepas log masuk

Atas ialah kandungan terperinci MySQL JIKA WUJUD Klausa: Mengapa Pertanyaan Saya Ralat Keluar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan