PHP World

首页 > Forum > Discuz › 批量修改Discuz X3.2论坛帖子的作者?

批量修改Discuz X3.2论坛帖子的作者?

第一步, 更新用户ID在10到2885之间随机用户ID

UPDATE pre_forum_post                                      

SET authorid = FLOOR( 10 + ( RAND( ) *2876 )) 

WHERE fid =41 


第二步,根据用户ID更新帖子的用户名

UPDATE pre_forum_post p,pre_common_member m           

SET p.author = m.username WHERE p.authorid = m.uid  

 

第三步,根据post表来更新thread表

UPDATE pre_forum_thread t,                                

pre_forum_post p SET t.author = p.author,

t.authorid = p.authorid WHERE t.tid = p.tid


这里要注意两点:

第一点, 随机用户ID的算法,若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句: SELECT FLOOR(7 + (RAND() * 6));


第二点,Mysql跨表更新, 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。 在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式: 代码如下: UPDATE product p, productPrice pp SET pp.price = pp.price * 0.8 WHERE p.productId = pp.productId AND p.dateCreated < '2004-01-01'


上一篇:返回列表

下一篇:返回列表

相关文章