SQL Statement Markup: Backticks vs. Square Brackets
Apabila mentakrifkan nama medan atau nama jadual dalam pernyataan SQL, pembangun selalunya melampirkannya dalam aksara untuk melindungi daripada kata kunci terpelihara atau aksara khas. Dalam MySQL, ini biasanya dilakukan dengan backticks (``), manakala dalam SQL Server atau MS Access, kurungan segi empat sama ([]) digunakan.
Perbezaan Keserasian
Perbezaan utama antara backtick dan kurungan persegi terletak pada keserasian pangkalan data mereka. Backticks adalah eksklusif untuk MySQL, manakala kurungan persegi digunakan oleh SQL Server/T-SQL dan MS Access. Oleh itu, menggunakan backtick dalam SQL Server boleh mengakibatkan ralat sintaks.
Memahami Backticks dalam MySQL
Dalam MySQL, backticks berfungsi sebagai watak petikan pengecam. Ia membenarkan pembangun untuk menyertakan mana-mana jadual atau nama medan yang sebaliknya akan bercanggah dengan kata kunci terpelihara, kepekaan selongsong atau mengandungi aksara khas.
Contoh:
SELECT * FROM `select` WHERE `select`.id > 100;
ANSI_QUOTES Pertimbangan
MySQL juga menyokong petik pengecam dalam dua kali ganda tanda petikan apabila mod ANSI_QUOTES SQL didayakan.
Contoh:
SET sql_mode='ANSI_QUOTES'; CREATE TABLE "test" (col INT);
Kesimpulan
Sementara kurungan belakang dan kurungan segi empat sama kedua-duanya mencapai tujuan melindungi nama medan dan jadual, penggunaannya bergantung pada teknologi pangkalan data khusus yang digunakan. Untuk MySQL, backtick harus digunakan secara eksklusif, manakala untuk SQL Server atau MS Access, kurungan persegi adalah pilihan yang sesuai.
Atas ialah kandungan terperinci Backticks vs. Square Brackets dalam SQL: Petikan Pengecam Mana Yang Perlu Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!