MySQL 구분 기호는 세미콜론(;)과 함께 파이프 구분 기호(|)를 사용하고 MySQL 8.0.12 이전 버전을 사용할 때 발생합니다.
MySQL은 파이프(|)를 구분 기호로 처리하고 세미콜론(;)을 또 다른 구분 기호로 처리합니다. 따라서 MySQL 구분 기호를 파이프 및 세미콜론과 혼동하지 마십시오.
Note: 여기서는 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 ;
위 내용은 MySQL 구분 기호 오류는 언제 발생합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!