Mysql SQL脚本创建存储过程-导入错误

Mysql SQL脚本创建存储过程-导入错误,mysql,sql,stored-procedures,phpmyadmin,sql-scripts,Mysql,Sql,Stored Procedures,Phpmyadmin,Sql Scripts,我的SQL脚本存储过程.SQL: use timetable_db; DROP PROCEDURE IF EXISTS GetEmptyClassrooms; delimeter | CREATE PROCEDURE GetEmptyClassrooms() BEGIN SELECT room_number,seats from classrooms WHERE room_number not in (SELECT room_number FROM timetable); END

我的SQL脚本存储过程.SQL:

use timetable_db;

DROP PROCEDURE IF EXISTS GetEmptyClassrooms;

delimeter |
CREATE PROCEDURE GetEmptyClassrooms()
 BEGIN
   SELECT room_number,seats from classrooms WHERE room_number not in (SELECT room_number FROM timetable);
 END |
当我试图通过phpmyadmin GUI将其导入MySQL时,我发现了以下错误:

命令的意外开始。位置0处的近分隔符

对不起,MySQL中的默认语言不是英语。我尽量准确地翻译

我在S.overflow上读过几篇关于类似错误的文章,但我无法解决它

有一些解决方案可以解决这个问题,但没有多少帮助,因为最终我只想使用MyDB名称。sql脚本,包括所有的创建表、插入行等,当然还有创建过程,所有内容都集中在一个可导入的文件中

我试过:

删除分隔符语句,保留“|”或“/”或“$$” 删除分隔符和分隔符字符 使用“;”而不是“|”或“/”或“$$” 删除分隔符和; 仅移除; 删除选项卡->仅使用空格 正在尝试仅选择。。。在mysql中,它起作用了,所以我认为这不会是问题所在。 我确实是SQL的初学者,但我想提高自己


感谢您的帮助:

我认为您使用的语法有错误。请在下面试试

   DROP procedure IF EXISTS `GetEmptyClassrooms`;
        DELIMITER $$
        USE `test`$$
        CREATE PROCEDURE `GetEmptyClassrooms` ()
        BEGIN
         SELECT room_number,seats from classrooms
 WHERE room_number not in (SELECT room_number FROM timetable);
        END
        $$
        DELIMITER ;

其中test是要在其中创建存储过程的数据库名称

我认为您使用的语法有错误。请在下面试试

   DROP procedure IF EXISTS `GetEmptyClassrooms`;
        DELIMITER $$
        USE `test`$$
        CREATE PROCEDURE `GetEmptyClassrooms` ()
        BEGIN
         SELECT room_number,seats from classrooms
 WHERE room_number not in (SELECT room_number FROM timetable);
        END
        $$
        DELIMITER ;

其中test是要在其中创建存储过程的数据库名称

如果在phpMyAdmin中没有使用分隔符语句,则将分隔符输入对话框字段。如果在phpMyAdmin中没有使用分隔符语句,则将分隔符输入对话框字段。您的解决方案没有给我任何错误!:Thx.您的解决方案没有给我任何错误!:谢谢。