Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

discuz没有用到事务的问题

[复制链接]
蓝鲸鱼 发表于 2012-6-18 13:16:15 | 显示全部楼层 |阅读模式
想了解一下,这种连着操作三张表的程序:
C::t('forum_forumfield')->insert($fieldarray);
C::t('forum_forumfield')->update_groupnum($fup, 1);
C::t('forum_groupuser')->insert($newfid, $_G['uid'], $_G['username'], 1, TIMESTAMP);
如果出错了如何回滚呢?

不知道是不是可以实现事务处理。

我在写一个插件,需要操作两张表,但是如果一个出错了,另一个成功的话就会有数据不同步的现象。

想问一下要如何解决这样的问题?

回复

使用道具 举报

mark35 发表于 2012-6-18 13:30:03 | 显示全部楼层
1、myisam不支持事务
2、即便innodb支持事务,其实现程度也有限
3、不更换底层数据库楼上的问题无解。具体参考我的帖子  https://discuz.dismall.com/thread-2934412-1-2.html
回复

使用道具 举报

dovone.com 发表于 2012-6-18 13:32:13 | 显示全部楼层
楼上正解
斜挎包   http://www.xiekuabao.net
回复

使用道具 举报

yuantao19861215 发表于 2012-6-18 14:25:39 | 显示全部楼层
二楼说的不错
回复

使用道具 举报

 楼主| 蓝鲸鱼 发表于 2012-6-18 19:43:46 | 显示全部楼层
mark35 发表于 2012-6-18 13:30
1、myisam不支持事务
2、即便innodb支持事务,其实现程度也有限
3、不更换底层数据库楼上的问题无解。具体 ...

谢谢你
回复

使用道具 举报

 楼主| 蓝鲸鱼 发表于 2012-6-18 19:45:36 | 显示全部楼层
mark35 发表于 2012-6-18 13:30
1、myisam不支持事务
2、即便innodb支持事务,其实现程度也有限
3、不更换底层数据库楼上的问题无解。具体 ...

一堆sql啊,看着蛋疼,也没用 ORM
回复

使用道具 举报

mark35 发表于 2012-6-18 19:46:38 | 显示全部楼层
蓝鲸鱼 发表于 2012-6-18 19:45
一堆sql啊,看着蛋疼,也没用 ORM

用了ORM也许会更麻烦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-9 17:33 , Processed in 0.129534 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表