我有三列第1列第2列第3列(總計)。我想在每次更新查詢後將第1列和第2列的總和放到第3列.....注意我使用的是代碼點火器。如何更新列1然後總列自動更新自己,我該怎麼做。如何在每次更新後自動累加兩列並插入總列
回答
嘗試這樣的:
DELIMITER $$
CREATE TRIGGER updtrigger AFTER UPDATE ON mytable
FOR EACH ROW
BEGIN
IF NEW.col1 <> OLD.col1 OR NEW.col2 <> OLD.col2 THEN
SET NEW.col3 = NEW.col1 + New.col2;
END IF;
END $$
這是一個非常好的tutorial。
AFTER UPDATE觸發器意味着MySQL將在執行UPDATE操作的 之後觸發此觸發器。
你寫了BEFORE AFTER之後,它會在查詢之前和之後執行嗎?再加上你寫了FOR EACH ROW,但是我想執行它只有那一列正在更新的那一行..請編輯我所要求的...謝謝 –
是啊對不起,我刪除了BEFORE;您需要FOR EACH ROW,因爲您可以在單個查詢中更新多行。 – dsharew
好的,現在感謝我的查詢發生在這個觸發代碼中的最後一件事 –
爲什麼不更新數據庫而不是創建觸發器。加上你在插入後創建了觸發器,它應該在之前。但你真的不應該做這樣的說法
試試這個代碼:
DELIMITER $$
CREATE
TRIGGER `db_name`.`trigger_name` AFTER UPDATE
ON `db_name`.`table_name`
FOR EACH ROW BEGIN
UPDATE
`table_name`
SET
`column3` = `column1` + `column2`;
END$$
DELIMITER ;
- 1. 如何在每次插入命令後自動刷新gridview?
- 2. 加入兩個表並更新列值
- 3. 總結行並插入新列
- 4. 如何在GridView自動生成列後插入一列 - ASP.NET
- 5. 如何在每次請求後自動更新session_stared日期
- 6. 更新在新列插入兩列在DB
- 7. R列中每兩行加總列
- 8. Java和HSQLDB,如何在更新後自動添加列
- 9. 插入總和爲新列
- 10. MySQL更新後自動更新列
- 11. 如何插入每兩個後續行的相減並將其插入到一個新列
- 12. 如何讓Sinatra在每次更改後自動重新加載文件?
- 13. 基於兩列的MySQL插入/更新
- 14. 加入兩列並加上另一列組的總和
- 15. 將兩列加入新列
- 16. 如何拆分Pipe-Delimited列並將每個值插入到新表中一次?
- 17. 累積彙總列
- 18. 按兩列分組,每行顯示累計總數
- 19. 列表更新插入後的值
- 20. SQL Server - 插入新記錄後如何更新ID列
- 21. 如何在每次重新啓動後自動運行命令
- 22. 自動生成的每次更新的唯一編號列
- 23. VS/WPF:如何在插入新列後增加所有grid.column?
- 24. mysql - 計算值並自動插入列
- 25. 觸發每次更新或插入
- 26. 添加每次更新,刪除,插入查詢在MySQL
- 27. 如何更新非空列值以自動增加列值(mysql)?
- 28. 加入並彙總在兩列 - 每個月甚至幾個月沒有數據?
- 29. MySQL插入之前插入更新列與新的自動增量編號
- 30. 更新JTextField的總和自動每次他們改變(JAVA)
您可以使用觸發器來實現這一目標。 – dsharew
如何使用觸發器? –
您可以輕鬆修改您的更新命令來輕鬆完成此操作。 UPDATE table1 SET COL1 = X,COL3 = X + COL2 WHERE ........。 X是您的輸入值。當你更新COL1時,相同的查詢也會更新COL3。 – blokeish