2014-09-22 39 views
0

我想用在MySQL中創建一個觸發如下:創建錯誤觸發未知的系統變量

CREATE TRIGGER ins_daft BEFORE INSERT ON jos_ezrealty 
FOR EACH ROW BEGIN 
SET preschool = livingarea*10.76391041671 
END; 

只有這樣,我得到以下錯誤:

Error 
SQL query: 

CREATE TRIGGER ins_daft BEFORE INSERT ON jos_ezrealty 
FOR EACH 
ROW BEGIN 
SET preschool = livingarea * 10.76391041671 END 

MySQL said: Documentation 

#1193 - Unknown system variable 'preschool' 

我想有一個字段的值通過乘以10.76391041671轉換爲平方英尺。任何人都可以看到我做錯了什麼?

謝謝。

回答

3

無論何時您想引用觸發觸發器的行的列,都可以像NEW.column_name那樣對其進行限定。

否則,SET命令認爲您要設置一個名爲preschool的MySQL配置變量。

+0

我作出改變,現在我得到這樣的:SQL查詢: CREATE TRIGGER ins_daft BEFORE INSERT ON jos_ezrealty FOR EACH ROW BEGIN SET NEW.preschool = 'livingarea * 10.76391041671' END MySQL表示:文檔 #1064 - 您的SQL語法錯誤;請檢查與您的MySQL服務器版本對應的手冊,以便在第3行的'END'附近使用正確的語法。 – CDubYaa 2014-09-22 23:31:24

+0

觸發器正文中的每個語句都需要用分號(';')來終止它。 – 2014-09-23 01:23:27

相關問題