嘗試使用MySQL觸發器時出現奇怪的錯誤。 我正在使用XAMPP並使用PhpMyAdmin創建觸發器。MySQL觸發器無法正常工作
觸發的代碼是:
BEGIN
DECLARE stud INT(11) DEFAULT 0;
DECLARE sw CURSOR FOR
(SELECT CodiceStudente FROM Listastudenticorsi WHERE CodiceCorso = NEW.CodiceCorso);
OPEN sw;
get_loop: LOOP
FETCH sw INTO stud;
INSERT INTO inbox(Mittente, Destinatario, Oggetto, Contenuto, Data) VALUES (NEW.CodiceDocente, stud, "Nuova news inserita", NEW.Oggetto, NEW.Data);
END LOOP get_loop;
END
,被稱爲前插入到表「新聞」。
會發生什麼情況是,語法是正確的,但是當我嘗試運行它觸發它說事件「#1329 - 無數據 - 零行獲取,選擇,或加工」。
我試圖找出真正的問題是什麼,以及它似乎是行「Fetch SW INTO釘」;我嘗試了很多次,並且SELECT語句會返回正確的值,所以'sw'不能爲空......我被困在這一點。
有這個觸發感興趣的3個表。 '新聞'是觸發事件的那個;它有一些使用關鍵字「NEW」調用的列。第二個是收件箱;它是在觸發器執行完其動作後插入一些值的表格。最後,還有「Listastudenticorsi」,意思是大約「學生和課程列表」。
我所做的是:插入新聞時,我得到它所指的課程,其對象,日期和新聞提交者,我發現(使用select語句)參加課程的學生新聞正在引用,然後使用插入語句向每個人發送郵件。