【问题标题】:Error Code: 1241 Operand should contain 1 column(s)错误代码:1241 操作数应包含 1 列
【发布时间】:2012-03-29 14:18:58
【问题描述】:

在mysql中创建一个函数,当一个函数被调用时我得到“错误代码:1241 操作数应包含 1 列”如何解决错误

drop function if exists age;

DELIMITER //

CREATE FUNCTION age (Dob date,Username varchar(30))

RETURNS INT

DETERMINISTIC

BEGIN

DECLARE age int;

set age=(SELECT *, YEAR(CURDATE()) - YEAR(Dob)   FROM per_det where username=Username);

return age;

END;//

delimiter ;

select * from per_det;

我得到“错误代码:1241

操作数应包含 1 列“如何解决错误

【问题讨论】:

    标签: mysql mysql-error-1241


    【解决方案1】:

    您在 SET 子查询中选择了多个列,而 age 期望是单个 INT 值。你不想在这里*

    set age=(SELECT YEAR(CURDATE()) - YEAR(Dob)   FROM per_det where username=Username);
    

    【讨论】:

      猜你喜欢
      • 2021-09-16
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 2013-03-27
      • 2015-07-08
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      相关资源
      最近更新 更多