Mysql 为什么此存储过程返回空结果?

Mysql 为什么此存储过程返回空结果?,mysql,stored-procedures,Mysql,Stored Procedures,我有一个在本地主机上正常工作的存储过程,但当我试图在我的vps服务器上执行该存储过程时,我给出了一个空结果 CREATE PROCEDURE `sp_contest_selectContestId`( IN _uniquetitle VARCHAR(300)) BEGIN SELECT `id` FROM `contest` WHERE `uniquetitle` = _uniquetitle LIMIT 0, 1 ;END 当我使用此部件而不

我有一个在本地主机上正常工作的存储过程,但当我试图在我的vps服务器上执行该存储过程时,我给出了一个空结果

CREATE PROCEDURE `sp_contest_selectContestId`(
IN _uniquetitle VARCHAR(300))
BEGIN
    SELECT `id`
    FROM `contest`
    WHERE 
        `uniquetitle` = _uniquetitle
    LIMIT 0, 1
;END
当我使用此部件而不使用具有相同数据的程序进行测试时,我没有任何问题:

SELECT `id`
FROM `contest`
WHERE 
    `uniquetitle` = _uniquetitle
LIMIT 0, 1

我使用的是UTF-8数据。我的表是UTF8,但不是我的数据库。数据库是拉丁语和瑞典语

我将数据库排序规则更改为UTF8,然后再次导入数据。问题解决了


在插入或导入任何内容之前,我必须将我的数据库排序规则设置为UTF-8。

我的vps上有几个存储过程,只有这个存储过程没有问题。哦!!是的,它是相同的,当我仅使用此部分“从
竞赛
中选择
id
,其中
uniquetitle
=\u uniquetitle LIMIT 0,1”时,没有问题没有输出参数?没有AS(或IS)关键字?我有其他过程与此过程相同,没有OUT或AS或IS,但没有问题。请检查您的权限-运行存储过程的用户ID(定义者)可能对您正在查询的数据库没有权限。