您的位置:首页 > 数据库 > MySQL

mysql存储过程更新表字段

2013-11-04 19:34 417 查看
直接上代码,利用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' );

格式化时间戳
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息