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
要让一个单元格具有一些我不希望它发生变化的值。但最初它不需要我想要的价值。 –