ฉันไม่เคยใช้ IF มาก่อนใน SQL ฉันต้องอัปเดตแถวที่สถาบันเป็นหมายเลขเฉพาะ (หากมี) และแทรกเข้าไปหากไม่มี เพื่อหลีกเลี่ยงการใช้ตัวเลือกก่อนแล้วจึงแทรกหรืออัปเดต ฉันต้องการลองใช้คำสั่ง IF ฉันคิดจากสิ่งที่ฉันได้อ่านในเอกสารประกอบว่าควรมีลักษณะดังนี้:
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
อย่างไรก็ตาม ฉันได้รับข้อผิดพลาดนี้:
#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
ฉันกำลังพยายามเรียกใช้แบบสอบถามนี้ใน phpmyadmin เพื่อทดสอบว่าแบบสอบถามควรเป็นอย่างไร
phpmyadmin
ใช้ MySQL - แต่อาจเป็น MySQL 5 รุ่นเก่าหรือ MySQL 8 สมัยใหม่ - ซึ่งแตกต่างกันมากในแต่ละคน - person Dai   schedule 13.05.2020