Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khi nào xảy ra lỗi delimiter trong MySQL?

Lỗi delimiter xảy ra khi dùng dấu pipe (|) kết hợp dấu chấm phẩy (;) trên MySQL phiên bản thấp hơn 8.0.12.

MySQL coi pipe (|) là một delimiter, chấm phẩy (;) là delimiter khác. Đừng nhầm lẫn.

Lưu ý: MySQL 8.0.12 trở lên pipe delimiter hoạt động tốt với chấm phẩy. Phiên bản cũ sẽ báo lỗi.

Ví dụ delimiter hoạt động:

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

Gọi stored procedure:

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

Không nên dùng pipe với chấm phẩy vì chấm phẩy là delimiter mặc định kết thúc câu lệnh. Dùng để thoát khỏi stored procedure khi viết nhiều câu lệnh.

Ví dụ đổi delimiter:

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

Đổi lại thành chấm phẩy:

mysql> delimiter ;