我的數據庫中一列的默認初始值與行自動遞增的ID相同。我試圖用觸發器來設置它。我可以使用MySQL觸發器更新剛剛添加的行嗎?
CREATE TRIGGER `default_order_value`
AFTER INSERT ON `clusters`
FOR EACH ROW
BEGIN
UPDATE `clusters` SET `order` = NEW.id WHERE `id` = NEW.id;
END
但這種不斷拋出一個語法錯誤
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
我已經試過各種排列這與沒有運氣。任何人都可以看到我做錯了什麼?
這很有趣,從來沒有在 – zerkms 2012-02-19 20:48:37
之前看過這個語法我現在得到了以下錯誤'1442無法更新存儲的函數/觸發器中的表'簇',因爲它已經被調用此存儲函數/觸發器的語句使用。「 - 任何想法爲什麼?它甚至發生在一個非常簡單的INSERT INTO集羣(\'name \')VALUES('qweqwe')' – wheresrhys 2012-02-19 21:27:31
@wheresrhys:那是因爲你不能修改你剛剛插入的行:-) – zerkms 2012-02-19 21:38:52