我有一个字段,其中输入了一个人的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 ;
答案 0 :(得分:1)
这是因为您的SELECT
查询返回3列,而SET
只需要1,请尝试使用以下SELECT
:
SELECT TIMESTAMPDIFF(YEAR,rt_dob,CURDATE());