>  기사  >  데이터 베이스  >  MySQL 구분 기호 오류는 언제 발생합니까?

MySQL 구분 기호 오류는 언제 발생합니까?

WBOY
WBOY앞으로
2023-08-26 08:13:061445검색

MySQL 구분 기호 오류는 언제 발생합니까?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제