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
969 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!

sumber:php.cn
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