Isu:
Apabila cuba mencipta acara MySQL menggunakan skrip PHP , pengguna menghadapi ralat:
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:
Untuk menyelesaikan isu ini, ikut langkah berikut:
Buat yang Acara:
drop event if exists `myevent21222`; DELIMITER | CREATE EVENT myevent21222 ON SCHEDULE EVERY 5 MINUTE STARTS '2016-01-01 00:00:00' ON COMPLETION PRESERVE DO BEGIN UPDATE `team` SET `reg` = '0' WHERE `id` = '1'; END | # MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). DELIMITER ;
Hidupkan Pengendali Acara:
SET GLOBAL event_scheduler = ON; -- turn her on and confirm below
sahkan Pengaktifan:
show variables where variable_name='event_scheduler';
Semak Maklumat Acara (jika Perlu):
show events from so_gibberish2; -- note so_gibberish2 is my database name -- obviously use your database name above
Alternatif untuk Pengubahsuaian Data Selepas Kelewatan Masa:
Jika pendekatan berasaskan peristiwa adalah bermasalah, pertimbangkan untuk menggunakan PHP Job Queue atau Cron Job untuk melakukan pengubahsuaian data pada selang waktu yang dijadualkan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Anda mempunyai ralat dalam sintaks SQL anda' Semasa Mencipta Acara MySQL daripada PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!