2014-02-16 46 views
0

我想在MySQL 5.6中创建函数。该功能将通过计数玩家乘以参数。但我不知道我该怎么做。乘以Select MySQL 5.6

我觉得这样,但它没有按预期工作。

DROP FUNCTION IF EXISTS do_it; 

DELIMITER $$ 
CREATE FUNCTION do_it (s INT) RETURNS INT DETERMINISTIC 
    BEGIN 
    DECLARE k INT; 
    SELECT COUNT(id_player) as allPlayers FROM players; 
    SET k= allPlayers * s; 
    RETURN k; 
    END$$ 
DELIMITER ; 

SELECT do_it(2); 
+0

你能否阐述一下“坏”一点?你有错误吗?错误的价值?没有价值? – Clive

+0

是的,我有错误:“不允许从函数返回结果集” – user3314502

回答

-1

而是做这样的方式

DECLARE k INT; 
declare multiplyvar int; 
SELECT COUNT(id_player) into multiplyvar FROM players; 
SET k = multiplyvar * s; 
RETURN k; 
+0

我有这个错误:不允许从函数返回结果集 – user3314502

+0

请参阅我编辑的答案。现在试试。 downvoting时也是明智的。 – Rahul

+0

现在是:“错误SQL(1064):您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以找到在'/ *附近使用的正确语法CREATE FUNCTION do_it(s INT)RETURNS INT DETERMINISTIC BEGIN DECLA'在第26行* /“ – user3314502