2014-12-03 2 views
0

Я пытался найти этот ответ в течение довольно долгого времени безрезультатно. Вот что я должен сделать. Я создаю первую запись в table ниже. Затем я хотел бы запланировать событие, которое повторяется один раз в неделю, чтобы вставить новую запись в этот table. Все, что мне нужно - это событие, которое нужно сделать, это добавить неделю из поля последней строки в table один раз в неделю.Расписание Событие в MySQL

предпочтительный выход (что-то вроде этого)

+----+------------+------------+ 
| id | start | end  | 
+----+------------+------------+ 
| 1 | 2014-12-04 | 2014-12-11 | <-- Manually Inputed (base dates) 
| 2 | 2014-12-11 | 2014-12-18 | <-- SQL Scheduled Events below 
| 3 | 2014-12-18 | 2014-12-25 | (Every Thursday :D) 
| 4 | 2014-12-25 | 2015-01-01 | 
+----+------------+------------+ 

SQL заявление до сих пор

INSERT INTO `publication_dates` (`id`, `Start`, `End`) VALUES (null,"2014-12-04", DATE_ADD("2014-12-04",INTERVAL +1 WEEK)); 

Я не создал событие для этого, потому что у меня нет буквально ни малейшего представления о том, как получить информацию из строки перед ней. Это поможет мне преодолеть препятствие, которое я ударил по моему проекту laravel.

Благодарим вас за ваше время заранее!

MySQL Systax Ошибка для

DELIMITER && 
CREATE EVENT new_publication 
ON SCHEDULE EVERY 1 WEEK STARTS '2014-12-04 00:00:00' 
DO BEGIN 

INSERT INTO publication_dates (`Start`, `End`) 
VALUES (NOW(), DATE_ADD(NOW(), INTERVAL 7 DAY)); 

END && 

ответ

2

Вы можете добиться этого с помощью mysql event scheduler если вы позволяете первую строку, которая будет создана в случае, а также.

Начало мероприятия на первом свидании, которое вы хотите ввести. И событие должно запустить запрос вставки ниже.

INSERT INTO publication_dates (`start`, `end`) 
VALUES (NOW(), DATE_ADD(NOW(), INTERVAL 7 DAY)); 

Для событий на работу, вам нужно запустить MySQL экземпляр с планировщиком событий или вы можете включить его, выполнив запрос:

SET GLOBAL event_scheduler = ON; 

Затем вы должны создать событие, которое будет каждый четверг, говорят в полночь.

DELIMITER && 
CREATE EVENT run_on_thursdays 
ON SCHEDULE EVERY 1 WEEK STARTS <starting thursday> ENDS <ending thursday> 
do begin 

<the insert query from above> 

END && 

Это будет ввести первое значение и продолжать добавлять строку каждый четверг до окончания четверга.

+0

Wow man thanks Я дам этот снимок, но он определенно проницателен. +1 up'ed – Rafael

+0

Говорит, что у меня есть синтаксис ошибки для первой части кода – Rafael

+0

извините, у меня отсутствует скобка, исправляя ее сейчас. –

Смежные вопросы