mysql 文章数据批量修改发文时间 150

数据库a表cms,中有create_time(发文时间)和audit_time(审核时间)两个字段。存储时间是按照c语言的time_t标准,存储的是10位数的数字+---... 数据库a表cms,中有create_time(发文时间)和audit_time(审核时间)两个字段。
存储时间是按照c语言的time_t标准,存储的是10位数的数字
+----create_time--+--audit_time----+
| 1486656657 1486656657 |
| 1486656668 1486656668 |
| ...... ...... |
+--------------------------------------+

现在需要以1486656657为基点,以下每个数据依次减去(480-900之间的随机数字)
然后替换掉create_time的所有数值。
同时将audit_time的数字修改为与同行的create_time值相同

数据行差不多有5万条。这样修改基本就把数据修改成1年内每6到15分钟发帖了。
请帮忙写下sql,谢谢了
补充:create_time的每一个都是不同的,因为是采集进去的,都有几秒的差距,因此id1数据是1486656657,而id2数据是1486656668

另外实际上把id1的create_time改成 1486656657-(480-900之间的随机数字),而d2的create_time就是 1486656657-(480-900之间的随机数字)-(480-900之间的随机数字),也就是说id2的create_time修改是基于id1的create_time修改后再减去(480-900之间的随机数字)
需要得到的是能在mysql里面执行的语句,能实现批量替换的。
展开
 我来答
百度网友577e45c
2017-02-11 · TA获得超过1060个赞
知道小有建树答主
回答量:987
采纳率:81%
帮助的人:358万
展开全部

假设我要更新id为1-10的记录

$m = 1486656657;
for ($i=1;$i<11;$i++){
    $m = $m-rand(480,900);
    $sql = "UPDATE tablename SET create_time = $m AND audit_time = $m WHERE id = ".$i;
    mysql_query($sql);
}
追问
MySQL 返回: 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$m = 1486656657' at line 1
追答
没看懂$m定义跟你的SQL语句有什么关系?你把你的原代码贴出来。
三生读史书
2017-02-11 · TA获得超过136个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:35.7万
展开全部
update pb_threads set uid=1 where uid=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式