반응형
MariaDB에서 구문 실행시에 (혹은 프로시져 생성 시)
간혹 SQL Error [1064] [42000] 에러가 발생하는 경우가 있다.
Error occurred during SQL script execution
이유:
SQL Error [1064] [42000]: (conn=181) You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 4
이는 구문이 제대로 입력되지 않아 발생하는 오류로,
- 작성한 코드 내에 문법에 맞지 않는 스크립트가 있거나
- 예약어를 esc아래에 있는 ``표시로 구분하지 않았거나
- DELIMETER를 구분하지 않았을 경우
발생한다.
해당되는 오류 유형에 따라 대처를 하면되는데 특히 1,2번이 모두 올바름에도 문제가 생길 경우,
DELIMETER를 사용하여 문단 구분을 해주면 해결되는 경우가 있다.
DELIMETER
- 쉽게 말해서 구문의 끝을 임의로 설정해주는 기능의 쿼리로 문장 앞뒤에 추가해주면 된다.
DELIMITER //
프로시져 or 스크립트
// DELIMITER ;
이는 DELIMETER $$ 를 기준으로 문장 입력의 끝을 $$로 설정하여
중간에 ;가 나오더라도 입력을 종료시키지 않고 $$ DELIMETER까지 실행시키겠다는 의미이다.
반응형
'Skills > MySQL' 카테고리의 다른 글
[SQL] Replication 동기화 작업하기 (마스터-슬래이브) (0) | 2021.11.21 |
---|---|
[SQL] 파일 전송 프로토콜(SCP)을 이용하여 데이터베이스 업로드하기 (0) | 2021.11.21 |
[SQL] Crontab을 활용한 BACKUP - Cold Physical Backup (0) | 2021.11.21 |
[SQL] Crontab을 활용한 BACKUP - Hot Logical Backup (0) | 2021.11.20 |
[SQL] BACKUP의 종류 (0) | 2021.11.20 |