我需要创建一个过程:
1)从表中的字段中选择一些文本并将其存储在变量中
2)更新相同的记录字段,仅将日期添加为yyyymmdd格式,并在过程中输入其他文本
像这样的东西

delimiter //
create procedure table1.sp_updateComment (IN inputIP varchar(15), IN inputAccount varchar(10))
begin
start transaction;
select comment from table1 where ip = inputIP;
update table1 set comment = '<comment from above> + yyyymmdd + inputAccount', status = 'u' where ip = inputIP;
commit;
end;
//
delimiter ;
;


提前致谢 :)

最佳答案

使用SELECT...INTO选择一些值并将其存储在变量中:

SELECT comment INTO @my_comment_variable FROM table1 WHERE ip = inputIP;


但是,您的情况似乎没有必要。尝试使用CONCAT

UPDATE table1
SET comment = CONCAT(comment, DATE_FORMAT(CURDATE(), "%Y%m%d"), inputAccount'), status = 'u'
WHERE ip = inputIP;

关于mysql - mysql过程-在具有重新格式化日期的第二次查询中使用结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12099600/

10-13 02:51