尝试创建过程以填充MySql字段的年龄

时间:2017-03-09 22:35:44

标签: mysql

我有一个字段,其中输入了一个人的DOB,并且该字段是该年龄的空字段。我正在尝试设置一个程序,该程序将根据DOB字段自动输入age。下面的过程将编译,但它不会执行(我得到SQL错误:操作数应该包含1列)。任何想法,提示,评论等?

DELIMITER |

CREATE DEFINER = 'root'@'localhost' PROCEDURE age_create ()
BEGIN
   update rt_referrals
   Set rt_age=
   (SELECT rt_dob, CURDATE(),
    TIMESTAMPDIFF(YEAR,rt_dob,CURDATE()))
    ;
END|

DELIMITER ;

1 个答案:

答案 0 :(得分:1)

这是因为您的SELECT查询返回3列,而SET只需要1,请尝试使用以下SELECT

SELECT TIMESTAMPDIFF(YEAR,rt_dob,CURDATE());