Rumah > pangkalan data > tutorial mysql > Bagaimana Saya Melarikan Diri Watak Khas dalam Nama Lajur SQL?

Bagaimana Saya Melarikan Diri Watak Khas dalam Nama Lajur SQL?

Susan Sarandon
Lepaskan: 2025-01-11 22:18:44
asal
674 orang telah melayarinya

How Do I Escape Special Characters in SQL Column Names?

Menavigasi Aksara Khas dalam Nama Lajur SQL

Pangkalan data SQL menawarkan fleksibiliti yang besar dalam menamakan jadual dan lajur. Walau bagaimanapun, aksara tertentu dikhaskan untuk fungsi SQL tertentu. Sebagai contoh, noktah (.) bertindak sebagai pemisah antara nama jadual dan lajur. Memasukkan noktah secara langsung dalam nama lajur akan membawa kepada salah tafsir oleh pangkalan data.

Penyelesaian adalah dengan menggunakan pembatas, dengan berkesan melarikan diri daripada watak istimewa. Melampirkan nama lajur dalam tanda petikan memberitahu pangkalan data bahawa tempoh itu adalah sebahagian daripada nama, bukan pemisah. Contoh berikut mencipta jadual dengan lajur bernama "first.name":

<code class="language-sql">CREATE TABLE people (
  "first.name" VARCHAR(255)
);</code>
Salin selepas log masuk

Penggunaan Standard dan Pembatas SQL

Piawaian SQL:1999 mengesyorkan tanda petikan berganda ("") untuk mengehadkan pengecam. Ini membenarkan melarikan diri daripada mana-mana aksara yang biasanya tidak dibenarkan dalam pengecam yang tidak disebut. Contohnya:

<code class="language-sql">CREATE TABLE "table name" (
  column_name VARCHAR(255)
);</code>
Salin selepas log masuk

Pertimbangan Khusus Pangkalan Data

Walaupun standard SQL wujud, tingkah laku lalai berbeza-beza merentas sistem pangkalan data. MySQL dan SQLite menyokong petikan berganda sebagai pembatas, tetapi bukan secara lalai. MySQL memerlukan mod ANSI, manakala SQLite memerlukan PRAGMA identifiers=ON untuk mendayakan tingkah laku ini.

SQL Server juga menerima petikan berganda, tetapi begitu juga, memerlukan menetapkan pilihan QUOTED_IDENTIFIER kepada ON.

Ringkasan

Walaupun standard wujud untuk melepaskan nama lajur dalam SQL, sistem pangkalan data selalunya mempunyai tetapan lalai yang berbeza. MySQL, SQLite dan SQL Server semuanya menyokong petikan berganda sebagai pembatas, tetapi memerlukan konfigurasi khusus untuk mengaktifkan fungsi ini. Sentiasa rujuk dokumentasi pangkalan data anda untuk kaedah yang betul.

Atas ialah kandungan terperinci Bagaimana Saya Melarikan Diri Watak Khas dalam Nama Lajur SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan