2013-04-17 65 views
0

我有一個名爲登錄的表,有3個字段'id','token'和'status'。 ID是自動生成的。我想將自動生成的'id'存儲在'status'字段中,只要插入到該表中就可以使用trigger.Can我可以在觸發器之後使用insert來完成此操作?這是我第一次使用觸發器,因此任何幫助都將不勝感激。每當你想在你的觸發使用「SET NEW.column」我的代碼波紋管給..mysql觸發不起作用

CREATE TRIGGER ins_masterid AFTER INSERT ON `login` 
FOR EACH ROW BEGIN 
SET NEW.status = NEW.id; 
+0

您是否收到錯誤? – jakerella

+0

yup.Getting ana錯誤.. :( – DjangoDev

回答

1

試試這個

CREATE TRIGGER ins_masterid 
BEFORE INSERT ON login 
FOR EACH ROW SET new.status = (select max(id)+1 from login); 

但是你應該手動更新第一行的狀態。

1

,請注意,你不能用用這個動作之後,並且必須使用它的動作之前。

delimiter | 

CREATE TRIGGER ins_masterid BEFORE INSERT ON `login` 
FOR EACH ROW BEGIN 
SET NEW.status = NEW.id; 
    END; 
| 

delimiter ; 
+0

我試過這個,但是狀態字段總是變得'0'。怎麼辦? – DjangoDev

+0

是的,你是對的mangus。我在這裏做了幾個搜索,唯一的解決方案是我到目前爲止發現的是這個相關的問題:http://stackoverflow.com/questions/1211792/mysql-trigger-to-update-a-field-to-the-value-of-id。祝你好運! – medina