Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 구분 기호 오류가 발생하면?

<시간/>

MySQL 구분 기호는 세미콜론(;)이 있는 파이프 구분 기호(|)를 사용하고 MySQL 버전 8.0.12 미만을 사용할 때 발생합니다.

MySQL은 파이프(|)를 하나의 구분 기호로 취급하고 세미콜론(;)은 또 다른 구분 기호로 취급합니다. 따라서 MySQL 구분 기호를 파이프 및 세미콜론과 혼동하지 마십시오.

참고 :여기서는 MySQL 버전 8.0.12를 사용하고 있습니다. 파이프 구분 기호는 세미콜론과 함께 잘 작동합니다. 8.0.12 미만 버전을 사용하는 경우 구분자 오류가 발생합니다.

다음은 MySQL 구분 기호의 작동입니다.

mysql> delimiter |;
mysql> create procedure getSumOfTwoNumbers()
   -> begin
   -> select 2+3 as TotalValue;
   -> end ;
   -> |;
Query OK, 0 rows affected (0.17 sec)
mysql> delimiter ;

이제 call 명령을 사용하여 저장 프로시저를 호출합니다. 쿼리는 다음과 같습니다.

mysql> call getSumOfTwoNumbers();
호출

다음은 출력입니다.

+------------+
| TotalValue |
+------------+
|          5 |
+------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

MySQL에서 세미콜론은 MySQL에서 명령문의 끝을 알려주는 기본 구분 기호이기 때문에 세미콜론으로 위의 파이프 구분 기호를 달성하지 마십시오. 따라서 여러 문장을 작성할 때 MySQL 저장 프로시저에서 되돌리기 위해 세미콜론을 사용할 수 있습니다.

다음은 구분자 변경의 예입니다.

먼저 파이프 구분 기호(|)를 사용합니다. 구분자를 파이프로 설정하려면 다음 쿼리를 사용하십시오.

mysql> DELIMITER |

저장 프로시저를 생성하는 쿼리는 다음과 같습니다.

mysql> DELIMITER |
mysql> create procedure Demo()
   -> begin
   -> select 2*3 as TotalMultiplication;
   -> end ;
   -> |
Query OK, 0 rows affected (0.12 sec)

이제 세미콜론으로 구분 기호를 변경합니다. 구분자를 세미콜론으로 설정하려면 다음 쿼리를 사용하십시오.

쿼리는 다음과 같습니다.

mysql> delimiter ;