create procedure test()begin
DECLARE o datetime
DECLARE n int
DECLARE i int
DECLARE cur_1 CURSOR FOR SELECT dateTime FROM sword_00242_1440
DECLARE CONTINUE HANDLER FOR NOT FOUND SET @n=1set @i=0
SET @n=0
OPEN cur_1while @n=0 do
@i=@i+1
fetch cur_1 into o
update sword_00242_1440 set dateTime=adddate(dateTime,@i) where dateTime=@o
end whileclose cur_1
endcall test()错误信息:Error Code : 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 'datetime
DECLARE n int
DECLARE i int
DECLARE cur_1 CURSOR FOR SELECT dateTime ' at line 3
(0 ms taken)没用过mysql的存储过程,语法也不懂,最近要准备测试数据,将数据库中的datetime字段每行递增加一天,请问哪里出错了?
DECLARE o datetime
DECLARE n int
DECLARE i int
DECLARE cur_1 CURSOR FOR SELECT dateTime FROM sword_00242_1440
DECLARE CONTINUE HANDLER FOR NOT FOUND SET @n=1set @i=0
SET @n=0
OPEN cur_1while @n=0 do
@i=@i+1
fetch cur_1 into o
update sword_00242_1440 set dateTime=adddate(dateTime,@i) where dateTime=@o
end whileclose cur_1
endcall test()错误信息:Error Code : 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 'datetime
DECLARE n int
DECLARE i int
DECLARE cur_1 CURSOR FOR SELECT dateTime ' at line 3
(0 ms taken)没用过mysql的存储过程,语法也不懂,最近要准备测试数据,将数据库中的datetime字段每行递增加一天,请问哪里出错了?
解决方案 »
- mysql explain 语法
- Command-Line Utilities指的是什么?在哪里怎么操作?
- MySQL数据库,如果进入数据库?如果有一个备份,是否能通过恢复该备份而重新建立该数据库的各表结构?
- mysql 游标问题。 怎么用循环替代游标嵌套!
- 一个关于insert的问题
- mysql中的使用 in遇到的问题
- 如果获得刚刚插入的记录的id,该id是自增的,除了该id,其他字段都不是唯一标志
- mysql数据库文件的后缀名是什么啊
- mysql中如何按 年 月 日 这三个参数进行数据查询
- 关于 INFORMATION_SCHEMA.COLUMNS的问题
- 关于一个mysql_field_count的问题
- 分享一个mysqldump源码分析过程,还原拍砖
DROP PROCEDURE IF EXISTS test$$
CREATE PROCEDURE test()BEGIN
DECLARE o DATETIME;
DECLARE n INT ;
DECLARE i INT ;
DECLARE cur_1 CURSOR FOR SELECT DATETIME FROM sword_00242_1440;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET @n=1;SET @i=0;
SET @n=0 ;
OPEN cur_1;WHILE @n=0 DO
SET @i=@i+1;
FETCH cur_1 INTO o;
UPDATE sword_00242_1440 SET DATETIME=ADDDATE(DATETIME,@i) WHERE DATETIME=@o;
END WHILE;CLOSE cur_1;
END$$
DELIMITER ;CALL test()