Knowledge Map
프로시저 쿼리에서의 1064에러 본문
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 ; 라고도 되어 있을 텐데 이것은 손대지 않는다.
이것은 해당 프로시저가 끝났음을 의미하는 문구이다.
'DataBase' 카테고리의 다른 글
맥 하이시에라 : ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (0) | 2017.12.08 |
---|---|
mysql에서 currval 유사 구현하기 (0) | 2017.04.12 |
latin1 한글정렬 (0) | 2016.07.22 |
join (0) | 2016.06.21 |
DB 데이타 인코딩 변환 (0) | 2016.06.20 |
Comments