Computer >> Máy Tính >  >> Lập trình >> MySQL

Cách giải quyết lỗi MySQL “Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng có tương ứng với phiên bản máy chủ MySQL của bạn để biết cú pháp phù hợp để sử dụng gần không? ”

Để tránh loại lỗi này trong thủ tục lưu trữ MySQL, bạn cần thay đổi dấu phân cách; tới //.

Giả sử nếu bạn đang sử dụng thủ tục hoặc trình kích hoạt được lưu trữ hoặc thậm chí hàm thì bạn cần thay đổi dấu phân cách. Cú pháp như sau.

DELIMITER //
   CREATE PROCEDURE yourProcedureName()
   BEGIN
      Statement1,
      .
      .
   N
END;
//
DELIMITER ;

Để hiểu cú pháp trên, chúng ta hãy tạo một thủ tục được lưu trữ. Truy vấn để tạo một thủ tục được lưu trữ như sau -

mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_getAllRecords()
-> BEGIN
-> SELECT *FROM employeetable;
-> END;
-> //
Query OK, 0 rows affected (0.23 sec)
mysql> DELIMITER ;

Gọi thủ tục đã lưu bằng lệnh CALL. Cú pháp như sau.

CALL yourStoredProcedureName();

Bây giờ gọi thủ tục trên trả về tất cả các bản ghi của bảng Employee. Truy vấn như sau.

mysql> CALL sp_getAllRecords();

Sau đây là kết quả.

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 2 | Bob | 1000 |
| 3 | Carol | 2500 |
+------------+--------------+----------------+
2 rows in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)