sql1,sql2两条语句分别插入到不同的表中,sql2某一个属性就是sql1插入后自增长的ID值。
我希望使用预处理来处理sql1和sql2, 同时希望他们执行的时候是在一个事务中, 现在问题就是, 事务中没提交的操作并没有真的插入到数据库中, 所以自增长的ID不存在,sql2插入出错, 肿麽办?
我现在处理方法就是不启动事务, 预处理sql1, 然后max出结果ID, 在预处理sql2, 一旦sql2出现异常, 根据ID删掉记录。 感觉有点麻烦。
其实我主要想知道,例如cnblog, 文章html内容和文章本身属性应该不是存在一个表中,如果是两个表, 他们是怎么处理同时插入和防注入的......
事物和预处理冲突吗? 应该不冲突啊。开启事物,然后正常预处理,开启事物后应该也有自增ID吧。最后判断是否回滚。