我已經創建了這個觸發器,用於自動生成用戶代碼,如SDA0001,SDA0002 ... 我剛剛在BEGIN和END之間包含了主要語句。這是對錶創建BEFORE INSERT agent_mst爲什麼MySQL在創建觸發器時發生此錯誤?
DECLARE max_id INT;
SET max_id=(SELECT MAX(agent_id_pk)+1 FROM `agent_mst`);
IF (max_id IS NULL) THEN
SET max_id=1;
END IF;
SET
NEW.date_added=NOW(),
NEW.date_updated=NOW(),
NEW.agent_code = CONCAT('SDA', LPAD(max_id, 4,'0'));
它給該錯誤是如下
MySQL表示:#1064 - 你在你的SQL語法錯誤;請檢查 手冊,該手冊對應於您的MySQL服務器版本右邊的 語法以在'DECLARE max_id INT; SET max_id =(SELECT MAX(agent_id_pk)+1 FROM
agent_mst
); 'at line 1
我使用phpMyAdmin創建了這個觸發器。
任何建議這裏有什麼問題? 在此先感謝。
nopes。仍然是同樣的錯誤。我使用phpMyAdmin創建觸發器。這是否會造成麻煩? – aslamdoctor
@aslamdoctor - 鄧諾。嘗試命令行或工作臺。 –
是的,它從命令行工作。必須學習新的東西。無論何時從phpmyadmin創建觸發器,始終包含BEGIN和END語句,即使它們自動包含這些語句。 – aslamdoctor