Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melarikan Diri Nama Lajur Seperti Kata Kunci dalam PostgreSQL?

Bagaimanakah Saya Melarikan Diri Nama Lajur Seperti Kata Kunci dalam PostgreSQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-14 06:30:43536semak imbas

How Do I Escape Keyword-Like Column Names in PostgreSQL?

Apabila memproses jadual dalam PostgreSQL, kami mungkin menghadapi nama lajur yang serupa dengan kata kunci dalam bahasa SQL. Ini boleh menyebabkan ralat semasa menulis pertanyaan kerana PostgreSQL mungkin cuba mentafsir nama lajur sebagai kata kunci dan bukannya pengecam.

Untuk menyelesaikan masalah ini, kita boleh menggunakan petikan berganda untuk mengelilingi nama lajur, dengan itu melepaskannya dan menghalang PostgreSQL daripada tersalah anggap ia sebagai kata kunci.

Sebagai contoh, pertimbangkan jadual berikut:

<code class="language-sql">CREATE TABLE my_table (id SERIAL PRIMARY KEY, name TEXT, year INTEGER);</code>

Sekarang, katakan kita mahu memasukkan baris baharu ke dalam jadual ini dan menetapkan lajur "tahun" kepada nilai tertentu. Jika kita menulis pertanyaan seperti berikut:

<code class="language-sql">INSERT INTO my_table (id, name, year) VALUES (1, 'John Doe', 1990);</code>

Kami mendapat ralat berhampiran kata kunci "tahun" kerana PostgreSQL cuba mentafsirkannya sebagai perkataan simpanan.

Untuk membetulkannya, kami hanya membungkus "tahun" dengan petikan berganda:

<code class="language-sql">INSERT INTO my_table (id, name, "year") VALUES (1, 'John Doe', 1990);</code>

Dengan memetik nama lajur, kami mengarahkan PostgreSQL untuk menganggapnya sebagai pengecam dan bukannya kata kunci, membolehkan kami berjaya menetapkan nilainya.

Menurut dokumentasi PostgreSQL, "pengecam dipisahkan" atau "pengecam petikan" ialah pengecam yang disertakan dalam petikan berganda. Mereka sentiasa diiktiraf sebagai pengecam dan tidak boleh disalah anggap sebagai kata kunci. Ini membolehkan kami menggunakan kata kunci sebagai nama lajur atau jadual tanpa menghadapi ralat.

Atas ialah kandungan terperinci Bagaimanakah Saya Melarikan Diri Nama Lajur Seperti Kata Kunci dalam PostgreSQL?. 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