delimiter //
create procedure fix_position()
begin
declare t mediumint(8);
declare b mediumint(8);
declare c mediumint(8);
DECLARE thread_id CURSOR FOR select tid from pre_forum_thread;
open threadid;
myloop: LOOP
fetch thread_id into t;
SELECT count(*) into b FROM pre_forum_post WHERE tid=t;
set c= b - 1;
UPDATE pre_forum_thread SET replies= c WHERE tid=t;
UPDATE pre_forum_thread SET maxposition=b WHERE tid=t;
END LOOP;
CLOSE thread_id;
end;//
DELIMITER ;
discuz 的数据库,重新计算回复的次数然后更新到 pre_forum_thread 表, 只要执行就会报 Out of range value for column 'replies' at row 1 对 mysql 没啥研究,这还是根据网上资料现学的。。请问应该怎么修改? 感谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.