2014-02-17 32 views
0

我已經編寫了如下所示的事件通知代碼。我已將事件設置爲日期和時間。在那個特定的時間,我已經指定了一些操作,比如將一些信息存儲在另一個名爲PT的表中我沒有收到任何錯誤,但在該事件發生之後,信息並未存儲在PT中。 任何想法...sql中的事件通知錯誤

DROP EVENT `t1` ; 

CREATE DEFINER = `root`@`localhost` EVENT `t1` ON SCHEDULE AT '2014-02-17 03:43:00' ON COMPLETION PRESERVE DISABLE DO BEGIN INSERT INTO PT(pname, Dname, Test_name) 
SELECT Patient.pname, Doctor.Docname, Tests.Test_name 
FROM Patient, Doctor, Tests, Assist 
WHERE (Assist.Date = '2014-02-17 03:43:00') AND (Assist.Pid = Patient.pid) AND (Assist.Did= Doctor.Did) AND (Assist.Tid = Tests.Tid); 

END 
+0

這裏什麼是對SQL服務器的標籤作用..? – user1844933

回答

0

你需要事件調度配置做了事件的工作。

Event Scheduler的默認狀態是DISABLED
您需要通過以下任何語句啓用它。

SET GLOBAL event_scheduler = ON; 
SET @@global.event_scheduler = ON; 
SET GLOBAL event_scheduler = 1; 
SET @@global.event_scheduler = 1; 

當事件調度是ON,事件調度器線程中的SHOW PROCESSLIST輸出作爲守護進程列出,並且其狀態被表示如下所示:

mysql> SHOW PROCESSLIST\G 
*************************** 1. row *************************** 
    Id: 1 
    User: root 
    Host: localhost 
    db: NULL 
Command: Query 
    Time: 0 
    State: NULL 
    Info: show processlist 
*************************** 2. row *************************** 
    Id: 2 
    User: event_scheduler 
    Host: localhost 
    db: NULL 
Command: Daemon 
    Time: 3 
    State: Waiting for next activation 
    Info: NULL 
2 rows in set (0.00 sec) 

一旦Event Scheduler設置爲ON,你會看到它的工作。

參考MySQL Event Scheduler Configuration