我正在开发一个基于 php/MySQLi 的站点。我有一个问题,如果页面由于某种原因在执行复杂过程的过程中崩溃会发生什么。
例子:
if (get_message_call)
{
add something to table 1
add something to table 2
add something to table 3 ( based on some values inserted into table2 )
add something to table 4
etc...
}
我已经使用 PHPmyAdmin (InnoDB) 构建了数据库。我没有分配任何关系,因为主键/外键没有像理论上那样工作(也许我写错了)。
我主要担心的是,如果语句由于某种原因被中止(页面崩溃、连接松动等),可以说执行“向 table3 添加内容”。我猜第一条和第二条语句会被执行,其余的不会?
确保不会发生这种情况的最佳方法是什么,因为它可能会弄乱其他表的键等。我可能对解释有点模糊,但我希望有人能理解我的观点。
我读过“存储过程和触发器中的回滚和提交”,但我不确定我是否理解正确..
提前致谢。