[英]varchar and int syntax in sql
CREATE TRIGGER leave_trigger
AFTER INSERT ON leaveapplication
FOR EACH ROW
IF employeemaster.empcode='".$empcode."' THEN
UPDATE employeemaster SET '".$leave_type=$leave_type."'-$numberofleave //I am facing problem here
END IF;
請幫我在語法上更正它,因為$leave_type
是varchar
和$numberofleave
是integer
。
您需要將字段名稱保存在其他變量中
UPDATE employeemaster SET '".$fieldName."=".$leave_type."'-$numberofleave
我對您要做什么感到困惑。 您是否要創建一個觸發器,該觸發器將自動執行以下查詢?
UPDATE
employeemaster
SET leave_type=leave_type-".$numberofleave."
where empcode='".$empcode."'
然后,我認為您想這樣編寫觸發器:
CREATE TRIGGER leave_trigger
AFTER INSERT ON leaveapplication
FOR EACH ROW
UPDATE employeemaster SET leave_type=leave_type-NEW.numberofleave where empCode=NEW.empCode
END;
在觸發器中,您不想使用PHP中的任何變量來指定細節。 您想要將數據插入一個表(leaveApplication)中,然后讓觸發器使用該表中的數據來更新employeemaster 。 如果在觸發器中對數據進行硬編碼,則需要為employeemaster中的每一行數據創建一個觸發器,否則該觸發器將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.