1
A
回答
0
SQLite不支持更改new
列值。 更改觸發器中列的唯一方法是運行UPDATE
命令, ,但會再次運行觸發器。
你可以做的是防止在首位更改列:
CREATE TRIGGER IF NOT EXISTS prevent_col_a_change
BEFORE UPDATE OF col_a ON a
BEGIN
SELECT RAISE(ABORT, 'COL_A must not be changed');
END;
-1
UPDATE觸發器是一個很好的解決方案。只需將舊價值設置爲新價值,這將導致您想要的行爲。
例如:
CREATE OR REPLACE TRIGGER orders_before_update
BEFORE UPDATE
ON orders
FOR EACH ROW
BEGIN
:new.CreatedAt:= :old.CreatedAt;
END;
+0
這是無效的SQLite語法。 –
相關問題
- 1. 從INSERT觸發器更新時觸發更新後未觸發
- 2. 如何編寫觸發器更新另一個表中的行?
- 3. 如何爲多行更新寫入觸發器?
- 4. 如何創建更新觸發器
- 5. 如何更新事件觸發器?
- 6. 如何寫觸發器?
- 7. 如何編寫觸發器?
- 8. 更新面板觸發器未觸發
- 9. INSERT觸發器沒有觸發更新?
- 10. 更新觸發器在多記錄更新上觸發的頻率如何?
- 11. 如何更新觸發
- 12. 如何更新SQL Server表而不觸發UPDATE觸發器
- 13. 如何將以下過程更改爲「取代觸發器」?
- 14. 如何在SQL觸發器中獲取更新列的值
- 15. SQL觸發器 - 如何獲取更新的值?
- 16. 如何在更新SQL觸發器中獲取原始值
- 17. 更新字段按觸發器更新
- 18. 更新觸發器上的Mysql更新
- 19. T-SQL觸發器更新
- 20. 觸發器不更新
- 21. 觸發器更新表
- 22. SQL觸發器更新
- 23. ORACLE觸發器INSERT更新
- 24. Oracle觸發器不更新
- 25. Android SQLite更新觸發器
- 26. 多行更新觸發器
- 27. 更新面板觸發器
- 28. 創建更新觸發器
- 29. 更新值的觸發器
- 30. 更新使用觸發器
什麼是你想實現什麼呢?觸發器的價格是 – mossplix
要讓一個單元格具有一些我不希望它發生變化的值。但最初它不需要我想要的價值。 –