一張,一下午的時間沒了,直接上圖,然後慢慢講解
先解釋下每一行的sql啥意思
truncate table `table`;
刪除表中資料,讓他從0開始增長
update `line_table` set time = date_add(time,interval 1 day)
往後加一天date_add,向前加一天就是date_sub,兩個基本函式而已,沒啥意義
create event if not exists e_test
on schedule every 3 second
do call test ();
執行儲存過程test,這是乙個event事件,寫的有儲存過程的話直接call儲存過程名字就可以了,如果想直接執行sql直接do後面直接寫sql就可以,親測也可以實現
show variables like '%sche%';
檢視event事件是否開啟,這個很重要,第一次執行儲存過程沒反應,找了好久的錯誤才找到,嗯,這個切記,一定要開啟事務
set global event_scheduler=1;
將時間任務開啟0是關,1是開,所以在這裡設定為1
alter event e_test on completion preserve enable;
同理enable是開,disable就是關drop event if exists e_test
刪除事件,盡量用if exists判斷一下,因為如果在你刪除的時候萬一不存在這個事件,不就報錯了嗎,多寫兩個單詞少個錯誤提示挺好的
create procedure test ()
begin
update xczh.line_table set time = date_add(time,interval 1 day);
end;
儲存過程,就是乙個proceduer,建立乙個儲存過程,然後begin開始end結束,當然也有複雜的儲存過程,多新增一些條件罷了也就這麼多吧,至於觸發器就不寫了,那個東西用的比較多,比較熟悉,說白了就是特殊的儲存過程,盡量少用觸發器,因為占用記憶體比較大,針對那些不經常改變的錶用一下還是挺好的,如果經常改動的表,不建議使用觸發器, 儲存過程例子 易懂
begin declare proname varchar 100 儲存過程名稱 declare result varchar 1 執行結果 declare tablename varchar 100 表名 定義當前任務出現執行異常時 繼續執行其他任務 1,exit 發生錯誤時退出當前 塊 可能是子...
laravel事件event簡單例項
生成事件類 監聽類 php artisan event generate事件類blo iew中寫入要觸發的事件 use illuminate broadcasting channel use illuminate queue serializesmodels use illuminate broad...
python 事件event簡單用法
在併發程式設計中,涉及到了時間event的使用,首先要先了解到event上線程threading模組中的乙個類。具體的用法有 event.set 設定標誌位 event.wait 等待設定標誌位 event.clear 清除標誌位 廢話不說,看栗子 from threading import eve...