我正在尝试创建一个简单的存储过程,如果某个参数(pFirstPosition)是某个值,我将使用其他一些参数作为过滤器进行选择。仅当至少有一行时,SELECT才起作用。问题是没有行时不返回null,而是返回错误。我正在将MariaDB与phpMyAdmin一起使用,并且出现的错误是
静态分析:
在分析过程中发现1个错误。
缺少表达。 (在位置25“开”附近) SQL查询:
SET FOREIGN_KEY_CHECKS = ON;
MySQL说:
#2014-命令不同步;您现在不能运行此命令
这是我的存储过程:
BEGIN
IF pFirstPosition = 'Top' THEN
SELECT Leader,GameMode,Language.Name,MinRank,MaxRank from Lobby
inner join Lobby_Position on Lobby.LobbyPositionId =
Lobby_Position.LobbyPositionId
inner join Language on Lobby.LanguageId = Language.LanguageId
WHERE Lobby.MinRank <= pUserRank
AND Lobby.MaxRank >= pUserRank
AND Language.Name = pLanguage
AND GameMode = pGamemode;
End IF;
End
谢谢
答案 0 :(得分:0)
“ LANGUAGE”是一个保留字,因此请用反引号将其引用:
inner join `Language` on Lobby.LanguageId = Language.LanguageId
答案 1 :(得分:0)
显然是phpmyadmin bug that got fixed recently