1
A
回答
2
您可以在您的应用程序代码中执行此操作,但通过触发器在数据库中执行操作是最安全的。
为防止插入成功,请在您的触发器中生成错误。我们这样做:
CREATE TRIGGER `t_insert`
BEFORE UPDATE ON `t`
FOR EACH ROW
BEGIN
IF new.A > new.B THEN
CALL NONEXISTENT_PROC()
END IF;
END
相关问题
- 1. 如何在mysql中强制约束
- 2. 如何在sql中强制约束?
- 3. 如何强制治疗来自休眠的MySQL约束错误
- 4. Neo4J:强制关系约束
- 5. 如何在创建的表中强制执行约束?
- 6. 复制列来强制约束?
- 7. 如何强制小部件的水平约束优先于其垂直约束?
- 8. MySQL约束如何失效?
- 9. XOR约束在MySQL
- 10. “强制”符合通用约束
- 11. Oracle强制执行软删除约束
- 12. 键入数据集 - 强制约束
- 13. 强制闭环外键约束
- 14. 强制外键约束同桌
- 15. 强制实施企业约束
- 16. 对文本框强制案例约束
- 17. Mysql添加约束:强制一个字段获取特定值
- 18. 如何使MySQL中的ALPHANUMERIC约束?
- 19. 如何强制解耦对象之间的约束?
- 20. 路线的强度约束?
- 21. 如何在Orange中的先验约束中引入synstactic约束
- 22. 错误在MySQL(约束)将
- 23. MYsql中的child-parent约束?
- 24. 约束限制
- 25. MySQL密钥约束
- 26. mysql约束错误
- 27. MySQL和FK约束
- 28. Mysql约束冲突
- 29. mysql外键约束
- 30. MySQL跨表约束
这是丑陋的还是什么? ;-)你怎么知道什么失败了,因为可能有几个触发器?我是否必须将程序命名为greatness_constraint_failed_on_A_and_B_in_T()...我的天啊... – Raffael 2011-06-03 08:19:19
永远不要说它很漂亮,甚至不是最好的方法。我们只在一个地方使用它,这是为那些试图更新/删除我们所拥有的审计日志表的人。 这个怎么样 - 通过一个存储过程来完成所有的事情。我有另一个网站,像这样运行,我喜欢它。 – 2011-06-08 21:39:57
我只是想知道B/C这似乎是一个非常自然有用的功能,如果你的是最直接的解决方案,那么MySQL将缺乏认真。 – Raffael 2011-06-09 09:39:44