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

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

DDD
DDDasal
2024-12-30 21:35:12573semak imbas

Why Can't PostgreSQL Table and Column Names Start with Numbers?

Konvensyen Penamaan Jadual dan Lajur dalam PostgreSQL: Rasional

Semasa cuba mencipta jadual bernama "15909434_user," anda mengalami ralat. Penyelidikan mendedahkan konvensyen penamaan PostgreSQL, yang melarang objek dengan nama bermula dengan nombor. Ini membawa anda meneroka sebab di sebalik sekatan ini.

Menurut standard SQL-92, aksara permulaan pengecam mestilah huruf Latin yang ringkas. Konvensyen ini memudahkan penghuraian pertanyaan SQL, terutamanya apabila membezakan antara nama lajur dan ungkapan angka dalam klausa senarai SELECT.

Pertimbangkan pertanyaan berikut:

SELECT 2e2 + 3.4 FROM ...

Jika aksara angka dibenarkan sebagai permulaan pengecam, penghurai akan bergelut untuk menentukan sama ada "2e2" ialah nama lajur atau nombor, dan jika "3.4" mewakili jadual "3" dan lajur "4" atau nilai angka 3.4.

Dengan mematuhi peraturan bahawa pengecam mesti bermula dengan aksara bukan angka, penghurai boleh dengan cepat membezakan antara pengecam (nama lajur) dan ungkapan berangka.

Walaupun mencipta skema yang membenarkan aksara terkemuka berangka secara teorinya mungkin, ia mungkin akan menghasilkan dalam peraturan penghuraian yang lebih kompleks dan tidak jelas.

Hasilnya, PostgreSQL mengguna pakai konvensyen SQL yang melarang nama jadual dan lajur daripada bermula dengan aksara angka, memastikan penghuraian pertanyaan yang cekap dan kejelasan dalam kod SQL.

Atas ialah kandungan terperinci Mengapa Nama Jadual dan 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