Knowledge Map

프로시저 쿼리에서의 1064에러 본문

DataBase

프로시저 쿼리에서의 1064에러

2017. 1. 17. 09:56

mariaDB에서 DBdump를 뜬다음 다른 자리에서 import를 시도했더니 아래와 같은 에러메세지가 떴다.


MySQL 메시지: 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'page_start_number, page_size;
        
     WHEN 2 THEN
        
        SELECT device' at line 14 


이것을 보고 잘 이해가 가지 않았다. 그냥 마리아DB에서 그대로 덤프해서 가져오는건데 왜 에러가 나지?

일단 일반적인 쿼리이지만, 프로시저가 포함되어 있어서 약간 다르게 작동하는거 같았다.

해결책은 이러하다.


각 프로시저 쿼리를 보면, 

DELIMITER ;; 라고 되어 있을 것인데, 이것을 DELIMITER $$ 라고 수정하면된다.

혹시 DELIMITER가 없다면 프로시저 create 위에 DELIMITER $$ 라고 입력하면 된다.


그리고 나서 해보면 잘되는 것을 볼수 있다.


참고로 쿼리가 하나 끝날때마다 DELIMITER ; 라고도 되어 있을 텐데 이것은 손대지 않는다. 

이것은 해당 프로시저가 끝났음을 의미하는 문구이다.

Comments