MySql数据库SQL命令指定时间范围批量递增随机修改文章发布时间

MySql数据库SQL命令指定时间范围批量递增随机修改文章发布时间,第1张

CREATE TABLE test_random_time ( id int, newstime datetime)INSERT INTO test_random_timeSELECT 1, '2012-11-13 01:00:00' UNION ALLSELECT 2, '2012-11-13 02:00:00' UNION ALLSELECT 3, '2012-11-13 03:00:00' UNION ALLSELECT 4, '2012-11-13 04:00:00' UNION ALLSELECT 5, '2012-11-13 05:00:00' -- 20点至23点。-- 区间=3小时=180分钟=10800秒-- 下面更新时间 = '2012-11-13 20:00:00' 之后的 随机秒数。(区间在 1- 10800 之间)UPDATE test_random_timeSET newstime = DATE_ADD('2012-11-13 20:00:00', INTERVAL FLOOR(1 + (RAND() * 10800)) SECOND )WHERE DATE(newstime) = '2012-11-13' -- 数据核对.mysql>SELECT * FROM test_random_time+------+---------------------+| id | newstime|+------+---------------------+|1 | 2012-11-13 22:25:14 ||2 | 2012-11-13 22:41:16 ||3 | 2012-11-13 20:10:35 ||4 | 2012-11-13 21:49:08 ||5 | 2012-11-13 22:33:55 |+------+---------------------+5 rows in set (0.00 sec)

方法一:

如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数

truncate

table

表名

方法二:

dbcc

checkident

('table_name',

reseed,

new_reseed_value)

当前值设置为

new_reseed_value。如果自创建表后没有将行插入该表,则在执行

dbcc

checkident

后插入的第一行将使用

new_reseed_value

作为标识。否则,下一个插入的行将使用

new_reseed_value

+

1。如果

new_reseed_value

的值小于标识列中的最大值,以后引用该表时将产生

2627

号错误信息。

方法二不会清空已有数据, *** 作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。

$sql="delete

from

$table_vote"

mysql_query($sql,

$link)

$sql="alter

table

$table_vote

auto_increment=1"

mysql_query($sql,

$link)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7404797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存