2017-03-09 61 views
0

我有一個字段與一個人的輸入DOB和年齡的空字段。我試圖設置一個程序,它會根據DOB字段自動輸入年齡。下面的過程將編譯,但它不會執行(我得到SQL錯誤:操作數應該包含1列(s))。任何想法,提示,評論等?試圖創建過程來填充MySql字段與年齡

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

那是因爲你SELECT查詢返回3列,而只SET預計1,嘗試用以下SELECT

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

謝謝達山。這工作很好。 –