MySQL menetapkan perkataan tertentu sebagai dirizab, termasuk istilah seperti "PILIH," "MASUKKAN" dan "PADAM", yang mempunyai makna yang dipratakrifkan. Menggunakan istilah ini sebagai nama jadual atau lajur tanpa menyertakannya dalam tanda belakang akan mencetuskan ralat sintaks.
Perkataan simpanan mempunyai kepentingan yang istimewa dalam MySQL, jadi menggunakan mereka dalam pengecam tanpa tanda belakang akan ditafsirkan sebagai pelanggaran sintaks. Dokumentasi MySQL menekankan kepentingan memetik pengecam yang mengandungi aksara khas atau perkataan terpelihara.
Untuk menyelesaikan isu ini, dua penyelesaian tersedia:
Penyelesaian yang paling disyorkan ialah menahan diri daripada menggunakan perkataan terpelihara sebagai pengecam. Ini menghapuskan potensi ralat sintaks yang berpunca daripada perkataan terpelihara yang terlupa atau diabaikan, memastikan kemudahalihan kod merentas pelbagai dialek SQL.
Jika menamakan semula pengecam tidak boleh dilaksanakan, sertakan perkataan yang dikhaskan dalam tanda belakang (`). Ini membolehkan anda menggunakan istilah ini dalam pengecam sambil memastikan MySQL mengenalinya sebagai rentetan dan bukannya perkataan yang dikhaskan. Menggunakan tanda belakang memastikan sintaks yang betul dan mengelakkan kekeliruan.
Pertimbangkan pertanyaan berikut daripada soalan:
INSERT INTO user_details (username, location, key) VALUES ('Tim', 'Florida', 42)
Untuk membetulkan ralat sintaks, perkataan simpanan "kunci" mesti disertakan backticks:
INSERT INTO user_details (username, location, `key`) VALUES ('Tim', 'Florida', 42)
Dengan mengikut garis panduan ini, anda boleh mengelakkan ralat sintaks apabila menggunakan perkataan terpelihara dalam pengecam MySQL dan mengekalkan integriti pertanyaan anda.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Sintaks Apabila Menggunakan Perkataan Terpelihara sebagai Nama Jadual atau Lajur MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!