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

Việc sử dụng chế độ SQL IGNORE_SPACE là gì?


Chế độ SQL IGNORE_SPACE có thể được sử dụng để sửa đổi cách trình phân tích cú pháp xử lý các tên hàm nhạy cảm với khoảng trắng. Sau đây là các trường hợp chúng ta có thể sử dụng chế độ SQL IGNORE_SPACE -

Trường hợp-1 - Khi chế độ SQL IGNORE_SPACE bị tắt

Sau khi tắt chế độ IGNORE_SPACE SQL, trình phân tích cú pháp diễn giải tên như một lệnh gọi hàm khi không có khoảng trắng giữa tên và dấu ngoặc đơn sau. Điều này cũng xảy ra khi tên hàm được sử dụng trong ngữ cảnh không phải biểu thức. Nó có thể được hiểu từ truy vấn sau -

mysql> Create table SUM(Id Int);
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near 'SUM(Id Int)' at line 1

Bây giờ chúng ta có thể sử dụng khoảng trắng hoặc viết tên trong dấu ngoặc kép để loại bỏ lỗi và khiến tên được coi như một định danh. Các câu lệnh sau cũng làm như vậy -

Create table SUM (id int);
Create table ‘SUM’(id int);
Create table ‘SUM’ (id int);

Trường hợp-2 - Khi chế độ SQL IGNORE_SPACE được bật

Khi chúng tôi bật chế độ này, trình phân tích cú pháp sẽ giảm bớt yêu cầu rằng không có khoảng trắng giữa tên hàm và dấu ngoặc đơn sau. Ví dụ:sau khi bật chế độ SQL IGNORE_SPACE, cả hai lệnh gọi hàm sau đều hợp pháp -

Select SUM(Salary) from employee;
Select SUM (Salary) from employee;

Tuy nhiên, trong trường hợp này, trình phân tích cú pháp xử lý tên hàm như các từ dành riêng. Có nghĩa là khoảng trắng theo sau các tên không còn đại diện cho số nhận dạng.