IGNORE_SPACE Mod SQL boleh digunakan untuk mengubah suai cara penghurai mengendalikan nama fungsi sensitif ruang putih. Berikut ialah kes apabila kita boleh menggunakan mod SQL IGNORE_SPACE -
Lumpuhkan mod SQL IGNORE_SPACE, apabila tiada ruang antara nama dan kurungan berikut, penghurai akan Ditafsirkan sebagai panggilan fungsi. Ini juga berlaku apabila nama fungsi digunakan dalam konteks bukan ungkapan. Ia boleh difahami daripada pertanyaan berikut -
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
Kini kita boleh menggunakan ruang atau meletakkan nama dalam petikan untuk mengalih keluar ralat dan menjadikan nama itu dianggap sebagai pengecam. Pernyataan berikut melakukan perkara yang sama -
Create table SUM (id int); Create table ‘SUM’(id int); Create table ‘SUM’ (id int);
Apabila kami mendayakan mod ini, penghurai melonggarkan keperluan bahawa mesti tiada ruang antara nama fungsi dan kurungan yang mengikutinya. Contohnya, dengan mod SQL IGNORE_SPACE didayakan, dua panggilan fungsi berikut adalah sah -
Select SUM(Salary) from employee; Select SUM (Salary) from employee;
Walau bagaimanapun, dalam kes ini, penghurai menganggap nama fungsi sebagai perkataan simpanan. Ini bermakna ruang selepas nama tidak lagi mewakili pengecam.
Atas ialah kandungan terperinci Apakah kegunaan mod SQL IGNORE_SPACE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!