Setelah meninjau komentar Anda mengenai pernyataan tetap tetapi masalah kedua langsung, jelas bahwa Anda tidak menggunakan ini dalam prosedur atau fungsi tersimpan. Dokumentasi untuk flow control statements
dengan sangat halus menyatakan bahwa mereka harus berada dalam prosedur/fungsi tersimpan.
Perbarui kode Anda agar berada dalam prosedur, lalu panggil prosedur untuk mengeksekusi:
USE mysql;
DROP PROCEDURE p;
DELIMITER |
CREATE PROCEDURE p() BEGIN
CASE (SELECT COUNT(*) FROM user WHERE User = '' AND Host = 'localhost')
WHEN 1 THEN
DROP USER ''@'localhost';
FLUSH PRIVILEGES;
ELSE
SELECT 'no users found!';
END CASE;
END;
|
CALL p();
Perhatikan juga bahwa saya menambahkan ELSE
catch catch-all memblokir; jika Anda tidak menangkap nilainya, CASE
akan memberikan peringatan "Kasus tidak ditemukan" - yang mungkin diinginkan atau tidak.