您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

数据库触发器对跨表完整性约束是否安全?

数据库触发器对跨表完整性约束是否安全?

答案是 。

事实证明,触发器确实看不到其他事务中未提交的更改,并且没有错误地通过。这样可以证明

交易1:

START TRANSACTION;
INSERT INTO plays_in (BetID, PlayerID) VALUES (1,1); -- query A

交易2:

START TRANSACTION;
INSERT INTO plays_in (BetID, PlayerID) VALUES (1,2); -- query B; in conflict with A, but passses

两项交易:

COMMIT;

plays_in即使A和B在单个事务中执行,现在也会包含两个插入的记录,触发器将引发错误

整个示例资源可以在这里找到

其他 2022/1/1 18:29:23 有357人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶