Rumah > Artikel > pangkalan data > Mengapa Penciptaan Acara MySQL Saya Gagal dengan 'Anda mempunyai ralat dalam sintaks SQL anda'?
Ralat Asal:
Apabila cuba mencipta acara MySQL menggunakan skrip PHP , ralat berlaku:
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 'DELIMITER' at line 1
Penyelesaian:
Mesej ralat menunjukkan bahawa sintaks yang digunakan untuk mencipta acara adalah tidak betul. Sintaks yang betul untuk mencipta acara ialah:
CREATE EVENT event_name ON SCHEDULE [EVERY | AT] schedule [ON COMPLETION [PRESERVE | NOT PRESERVE]] DO statement(s);
Dalam ralat asal, pernyataan "DELIMITER" telah digunakan secara salah. Sintaks yang betul ialah:
CREATE EVENT myevent21222 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE DO BEGIN UPDATE `team` SET `reg` = '0' WHERE `id` = '1'; END
Alternatif untuk Menukar Data Pangkalan Data Selepas 5 Minit:
Jika menggunakan acara untuk menukar data pangkalan data bukan pilihan, ada adalah cara lain untuk mencapai fungsi ini:
Pengaktifan Pengendali Acara:
Untuk memastikan acara dilaksanakan, pengendali acara mesti dihidupkan menggunakan pernyataan berikut:
SET GLOBAL event_scheduler = ON;
Anda boleh mengesahkan bahawa pengendali acara didayakan dengan menyemak nilai Pembolehubah 'event_scheduler':
SHOW VARIABLES WHERE VARIABLE_NAME='event_scheduler';
Nota Tambahan:
Atas ialah kandungan terperinci Mengapa Penciptaan Acara MySQL Saya Gagal dengan 'Anda mempunyai ralat dalam sintaks SQL anda'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!