Saya belum pernah menggunakan IF sebelumnya di SQL. Saya perlu memperbarui baris di mana institusi adalah nomor tertentu jika ada dan memasukkannya jika tidak. Untuk menghindari penggunaan pilihan pertama dan kemudian penyisipan atau pembaruan, saya ingin mencoba pernyataan IF. Saya memperkirakan dari apa yang saya baca di dokumentasi bahwa seharusnya seperti ini:
IF (NOT EXISTS(SELECT evaluations FROM tEvaluations WHERE institution = 0))
BEGIN
INSERT INTO tEvaluations (institution,evaluations) VALUES (0,0)
END
ELSE
BEGIN
UPDATE tEvaluations SET evaluations = 10 WHERE institution = 0
END
Namun saya mendapatkan kesalahan ini:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'BEGIN
INSERT INTO tEvaluations (institution,evaluations) VALUES (0,0)
END' at line 2
Saya mencoba menjalankan kueri ini di phpmyadmin untuk menguji bagaimana seharusnya kueri tersebut.
phpmyadmin
menerapkan MySQL - tetapi bisa juga MySQL 5 lama atau MySQL 8 modern - yang sangat berbeda satu sama lain. - person Dai   schedule 13.05.2020