Rumah >pangkalan data >tutorial mysql >Mengapa Nama Jadual atau Lajur PostgreSQL Tidak Boleh Dimulakan dengan Nombor?

Mengapa Nama Jadual atau Lajur PostgreSQL Tidak Boleh Dimulakan dengan Nombor?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 15:54:11921semak imbas

Why Can't PostgreSQL Table or Column Names Begin with Numbers?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn