例如,用户创建产品,并将其分配到类别中。
在类别中,我们有一些记录:
-phone, id:0
-computer, id:1
-pad, id:2
并且用户创建产品,产品需要分配类别,用户执行以下操作:
name:iphone
cat:0
流程将如下工作:
1. check the cat is exist in db or not
2a. if not exist prompt error
2b. if exist, put the record in db.
但是在完成第1步检查之后,在2b开始之前是否有任何机会。管理员删除手机类别。如果发生这种情况,数据库将插入一个没有cat id watch的记录。数据库将具有以下内容:
*-phone, id:0* (not any more, because the admin delete it)
-computer, id:1
-pad, id:2
但是有一个这样的记录:
name:iphone //but it belong to no category, because the admin delete it.
cat:0
如果有机会这样做,我该如何避免这种情况?谢谢。
(使用php和mysql与codeigniter)
答案 0 :(得分:1)
你应该考虑两件事:
答案 1 :(得分:0)
把它放在一个try .. catch块中,并将MySQL中的一些记录值设为非null( required 的字段),你将能够捕获异常并显示错误。