私はstackoverflowの非常に有益なメンバーによって書かれたこのクエリを持っています
update smf_members a,
(select user_id,
sum(if(karma_action='+',1,0)) karma_good,
sum(if(karma_action='-',1,0)) karma_bad
from phpbb_karma
group by user_id) b
set a.karma_good=b.karma_good, a.karma_bad = b.karma_bad
where a.id_member = b.user_id;
次の目的で作成されました: phpbb のカルマ mod から smf のカルマにデータを転送する必要があります。
Phpbb には、基本的にカルマ ログであるテーブル phpbb_karma があります。注目すべき重要なフィールドは、user_id (カルマを取得したユーザー) と karma_action (+ または - で示される正または負のカルマ) です。
すべてのプラスとマイナスをカウントし、一意の user_id ごとに与えられた結果を、適切な id_member (smf の user_id フィールド) と karma_good (すべてのプラス) および karma_bad (すべてのマイナス) の下の smf_members テーブルにコピーするクエリが必要です。
ここで、少し変更が必要です。データを phpbb_karma から mybb_reputation に転送します。
次のフィールドを転送する必要があります。
user_id -> uid
post_id -> pid
poster_id -> adduid
karma_action -> reputation (if its +, then 1, if its -, then -1)
karma_time -> dateline
comment_text -> comments
前もって感謝します