从表中选择无数据时发生mysql MariaDB存储过程错误
我使用的是XAMPP,数据库版本应该是15.1发行版10.1.16-MariaDB,我创建了一个简单的存储过程从表中选择无数据时发生mysql MariaDB存储过程错误,mysql,sql,stored-procedures,mariadb,Mysql,Sql,Stored Procedures,Mariadb,我使用的是XAMPP,数据库版本应该是15.1发行版10.1.16-MariaDB,我创建了一个简单的存储过程 DELIMITER // CREATE PROCEDURE GetAll() BEGIN SELECT * FROM users; END // DELIMITER ; 并称之为使用 CALL GetAll(); 当表(用户)没有数据并且我使用上面的语句调用phpmyadmin页面上的存储过程时,它会显示此错误: Static analysis: 1 err
DELIMITER //
CREATE PROCEDURE GetAll()
BEGIN
SELECT * FROM users;
END //
DELIMITER ;
并称之为使用
CALL GetAll();
当表(用户)没有数据并且我使用上面的语句调用phpmyadmin页面上的存储过程时,它会显示此错误:
Static analysis:
1 errors were found during analysis.
Unrecognized keyword. (near "ON" at position 25)
SQL query: Edit Edit
SET FOREIGN_KEY_CHECKS = ON;
MySQL said: Documentation
#2014 - Commands out of sync; you can't run this command now
但是当表有数据时,调用它时不会产生错误
大多数数据库中都会发生这种情况吗?即使表中没有数据,我应该如何调用存储过程?如果从
mysql cli终端调用它,
?…我不敢相信还有人使用phpMyAdmin
…存储过程似乎不是问题所在-当用户为空时,它正确地不返回值,如果用户不存在。@感谢Hackerman,它通过命令行成功执行。直到现在,我还没有通过终端执行任何SQL,至少今天我尝试了一些新的东西。那么phpMyAdmin不能处理空结果?再次感谢。@P.Salmon感谢您的评论,这个错误可能是因为我像Hackerman说的那样从phpMyAdmin调用了它。没错……您刚刚发现了一个新的phpMyAdmin
bug,您的存储过程很好……如果有疑问,请使用cli
xD