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里面执行的语句,能实现批量替换的。 展开
存储时间是按照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里面执行的语句,能实现批量替换的。 展开
2个回答
展开全部
假设我要更新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语句有什么关系?你把你的原代码贴出来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询