[discuz数据库同步]discuz数据库写入数据发帖

  discuz的发帖逻辑比较复杂,网上找了几篇网站结合着整理下

  discuz的数据采集程序,discuz发帖主要涉及几个数据库表

  ? ? ? ? discuz发表主题设计的几个表:(这里列出了主要的几个相关的表)?

  ? ? ? ? 1、主题表 pre_forum_thread:这个表一个主要数据就是 tid 主题ID

  ? ? ? ? 2、post 分表协调表 pre_forum_post_tableid:这里需要获取一个自增的 pid

  ? ? ? ? 3、帖子表 pre_forum_post :记录主题pid、fid、tid、title、content等主要信息

  ? ? ? ? 4、版块表 pre_forum_forum:这里主要更新版块的主题、帖子数量

  ? ? ? ? 5、帖子主题审核数据表 pre_forum_thread_moderate:这个可以根据自己状况决定,并不是必须的(这一步不是必需的)

  ? ? ? ? 6、用户统计表 pre_common_member_count:主要是更新用户的主题数量

  pre_common_member_count表和pre_forum_forum表两个表中主要修改帖子数据量其中主要设计到以下几个字段:

  threads: 版块内的主题数.

  posts: 版块内的帖子数.

  todayposts: 版块内, 今日发帖的个数. 这个是post的个数, 不是thread的个数.

  lastpost: 这个字段比较奇葩, ?看名字它是表示本版块最新一个帖子. ? 但它的值比较有意思, 这是一个字符串, ?由四部分组成, 每部分之间用 制表符分割. ?第一部分是这个帖子的pid, ?第二部分是帖子的标题, 第三部分是帖子的发帖时间, 第四部分是帖子的作者名. ? 这个字段可能是为了提高论坛首页的性能, 有了他之后,首页就负担轻了很多.

  discuz

  发帖流程主要分为7个步骤:

  ? ? ? ? 第一步:向 主题表 pre_forum_thread 中插入版块ID、用户ID、用户名、帖子标题、发帖时间等信息。

  ? ? ? ? 第二步:获取第一步插入表 pre_forum_thread 的数据ID,作为主题ID,即 tid?

  ? ? ? ? 第三步:向 post 分表协调表 pre_forum_post_tableid 插入一条数据,这张表中只有一个自增字段 pid?

  ? ? ? ? 第四步:获取 第三步 插入表 pre_forum_post_tableid 的数据ID,作为 pid?

  ? ? ? ? 第五部:向帖子表 pre_forum_post 中插入帖子相关信息,这里需要注意的是: pid为第四部的pid值,tid为第二步的tid值?

  ? ? ? ? 第六部:更新版块 pre_forum_forum 相关主题、帖子数量信息?

  ? ? ? ? 第七步:更新用户 pre_common_member_count 帖子数量信息?

  ? ? ? ? discuz发帖过程主要就是以上7个步骤,通过这几个步骤就可以完成对实现discuz的发帖流程,其中设计到一些积分等其他信息的可以自己加上。?

  discuz 数据库相关信息可以查看:http://faq.comsenz.com/library/database/x25/x25_index.htmdiscuz?

  discuz 数据库相关信息可以查看:http://faq.comsenz.com/library/database/x25/x25_index.htm

  discuz 数据库相关信息可以查看:http://faq.comsenz.com/library/database/x25/x25_index.htm

  ? ? ? ? 自己处理发帖主要涉及到了上面6个数据库表,其中第5个不是必须的。

 数据库同步软件

猜你喜欢

转载自www.cnblogs.com/sqlserver-mysql/p/12760113.html