Apabila cuba mencipta jadual dengan nama seperti "15909434_user," seseorang menghadapi ralat "Jadual atau nama lajur tidak boleh bermula dengan angka." Ini menimbulkan persoalan mengapa konvensyen ini wujud.
Menurut dokumentasi PostgreSQL, nama objek dalam pangkalan data mengikut "jenis nama", yang memerlukannya bermula dengan huruf atau garis bawah dan terdiri daripada aksara abjad angka dan menggariskan selepas itu.
Untuk memintas sekatan ini, petikan berganda boleh digunakan untuk membalut nama jadual, mengubahnya menjadi "pengecam yang dipetik." Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa petikan berganda tidak dianggap sebagai sebahagian daripada nama dan tidak dikira dalam had 63 aksara.
Sebab di sebalik konvensyen ini berpunca daripada piawaian SQL asal. Blok "pengecam mula" dalam piawaian menentukan bahawa pengecam mesti dimulakan dengan huruf Latin yang ringkas. Peraturan ini memudahkan proses penghuraian untuk jurubahasa SQL.
Dalam kes klausa senarai SELECT, yang membenarkan kedua-dua nama lajur ringkas dan ungkapan angka, penguatkuasaan konvensyen ini membantu penghurai membezakan antara kedua-duanya. Contohnya, jika nama jadual dan lajur dibenarkan bermula dengan angka, "2e2" boleh ditafsirkan sebagai nama lajur dan ungkapan angka yang sah.
Dengan mempunyai peraturan bahawa pengecam bermula dengan huruf, penghurai boleh melihat dengan cepat bahawa "2e2" ialah ungkapan angka dan "3.4" ialah nilai angka, bukannya jadual atau lajur nama.
Semasa merangka skema untuk membenarkan aksara utama berangka boleh dilakukan, ini boleh mengakibatkan peraturan yang lebih kabur dan kerumitan sintaksis. Konvensyen semasa menyediakan penyelesaian yang jelas dan mudah kepada isu itu, memastikan penghuraian yang cekap dan mengelakkan kemungkinan kesamaran.
Atas ialah kandungan terperinci Mengapa Nama Jadual atau Lajur Pangkalan Data Tidak Boleh Dimulakan dengan Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!