我想输入以下函数来计算phpmyadmin中mysql表中完成的任务数,但它始终返回无描述性错误:

 DELIMITER $$
 CREATE FUNCTION `num_completed`(v1 INT)
 RETURNS INT
 BEGIN
 DECLARE icm INT;
 SELECT SUM(IF(completed='yes',1,0)) AS completed INTO icm FROM ri_t_course_progress WHERE enrollment_id=v1;
 RETURN icm;
 END$$


查询本身应该是正确的。我已经对其进行测试,并返回期望的结果。有人知道怎么了吗?

最佳答案

您需要将SELECT的结果分配给变量。这是一种方法:

 SELECT SUM(IF(completed='yes',1,0)) INTO icm
 FROM ri_t_view_course_progress WHERE enrollment_id=v1;

关于mysql - 使用phpmyadmin创建mysql函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14751483/

10-11 03:31
查看更多