直接上代码,利用mysql存储过程的游标循环更新数据库里的数据
DROP PROCEDURE IF EXISTS updatetime ;
CREATE PROCEDURE updatetime()
BEGIN
declare _review_id int;
declare _time varchar(20);
declare _date varchar(25);
DECLARE rs_cursor CURSOR FOR select review_id from review where entity_id=1;
open rs_cursor;
cursor_loop:loop
FETCH rs_cursor into _review_id;
set _time = FLOOR(1199145600+rand()*(1375228800-1199145600+1));
set _date = FROM_UNIXTIME(_time, '%Y-%m-%d %H:%i:%s' );
update review set created_at = _date WHERE review_id = _review_id;
end loop cursor_loop;
close rs_cursor;
END;
call updatetime();
获取表里的数据然后循环,给表里的时间字段赋值一个随机的时间
SELECT FLOOR(1199145600+rand()*(1375228800-1199145600+1));
在俩个时间戳之间,随机取一个时间戳.
SELECT FROM_UNIXTIME(_time, '%Y-%m-%d %H:%i:%s' );
格式化时间戳