Mengapa Nama Jadual atau Lajur Tidak Boleh Dimulakan dengan Angka?
Apabila mencipta objek dalam PostgreSQL, seperti jadual atau lajur, ia adalah perlu untuk memberi mereka nama. Nama-nama ini mesti memenuhi kriteria tertentu, termasuk sekatan yang tidak boleh dimulakan dengan aksara angka.
Sebab Sekatan
Konvensyen ini berpunca daripada piawaian SQL asal, yang menyatakan bahawa pengecam (termasuk nama objek) mesti bermula dengan sama ada huruf atau garis bawah. Keputusan reka bentuk ini dibuat terutamanya untuk memudahkan penghuraian.
Cabaran Penghuraian
Jika aksara angka dibenarkan sebagai pengecam bermula, ia akan mewujudkan kesamaran dalam sintaks SQL. Contohnya, dalam klausa SELECT-list berikut:
SELECT 2e2 + 3.4 FROM ...
Adalah tidak jelas sama ada "2e2" merujuk kepada nama jadual atau ungkapan angka dan "3.4" berpotensi ditafsirkan sebagai nilai angka atau nama jadual "3" dan nama lajur "4".
Kesimpulan
Menguatkuasakan sekatan ini memastikan perbezaan yang jelas antara nama objek dan elemen SQL yang lain, menjadikan proses penghuraian lebih cekap dan jelas. Walaupun ia mungkin kelihatan seperti had kecil, ia membantu mengekalkan konsistensi dan kemudahan penggunaan dalam bahasa SQL. Untuk mengatasi sekatan ini, nama boleh disertakan dalam petikan berganda, seperti yang dilihat dalam contoh:
CREATE TABLE "15909434_user" ( ... )
Atas ialah kandungan terperinci Mengapa Nama Jadual atau Lajur PostgreSQL Tidak Boleh Dimulakan dengan Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!