본문으로 바로가기
반응형

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

 

이는 구문이 제대로 입력되지 않아 발생하는 오류로,

  1. 작성한 코드 내에 문법에 맞지 않는 스크립트가 있거나
  2. 예약어를 esc아래에 있는 ``표시로 구분하지 않았거나
  3. DELIMETER를 구분하지 않았을 경우

발생한다.

 

해당되는 오류 유형에 따라 대처를 하면되는데 특히 1,2번이 모두 올바름에도 문제가 생길 경우,

DELIMETER를 사용하여 문단 구분을 해주면 해결되는 경우가 있다.

 

DELIMETER

- 쉽게 말해서 구문의 끝을 임의로 설정해주는 기능의 쿼리로 문장 앞뒤에 추가해주면 된다.

DELIMITER //

프로시져 or 스크립트

// DELIMITER ;

 

이는 DELIMETER $$ 를 기준으로 문장 입력의 끝을 $$로 설정하여

중간에 ;가 나오더라도 입력을 종료시키지 않고 $$ DELIMETER까지 실행시키겠다는 의미이다.

반응형