SQL mode IGNORE_SPACE thay đổi cách parser xử lý tên hàm nhạy cảm với khoảng trắng.
Trường hợp 1: IGNORE_SPACE tắt (mặc định)
Parser coi tên là function call khi không có khoảng trắng giữa tên và dấu (. Lỗi nếu dùng tên hàm làm identifier không có space:
mysql> CREATE TABLE SUM(Id Int); ERROR 1064 (42000): You have an error in your SQL syntax...
Khắc phục: thêm space hoặc quote tên:
CREATE TABLE SUM (id int); CREATE TABLE `SUM`(id int); CREATE TABLE `SUM` (id int);
Trường hợp 2: IGNORE_SPACE bật
Parser cho phép space giữa tên hàm và (:
SELECT SUM(Salary) FROM employee; SELECT SUM (Salary) FROM employee; -- cả hai đều hợp lệ
Nhưng lúc này tên hàm trở thành từ khóa reserved, không dùng làm identifier được.