Rumah >pangkalan data >tutorial mysql >Bagaimanakah Pangkalan Data Berbeza Mengendalikan Pengecam Terhad untuk Nama Jadual dan Lajur?

Bagaimanakah Pangkalan Data Berbeza Mengendalikan Pengecam Terhad untuk Nama Jadual dan Lajur?

Barbara Streisand
Barbara Streisandasal
2024-12-29 14:06:11972semak imbas

How Do Different Databases Handle Delimited Identifiers for Table and Column Names?

Petikan Nama Berbeza dalam Pangkalan Data

Pangkalan data menggunakan pengecam terhad untuk membenarkan penggunaan nama jadual dan lajur yang mungkin mengandungi aksara seperti ruang kosong, aksara khas, aksara antarabangsa dan pengecam sensitif huruf besar-besaran. Pangkalan data yang berbeza menggunakan pelbagai aksara untuk pembatas ini.

MySQL

MySQL menggunakan petikan belakang secara lalai. Walau bagaimanapun, ia menyokong petikan dwi standard apabila SQL_MODE ditetapkan kepada ANSI_QUOTES:

SELECT * FROM `my_table`;  // MySQL default
SELECT * FROM "my_table";  // MySQL with ANSI_QUOTES

Microsoft SQL Server dan Sybase

Pangkalan data ini menggunakan kurungan sebagai pembatas lalai. Mereka juga menyokong petikan berganda menggunakan tetapan berikut:

SELECT * FROM [my_table];  // Default
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my_table";

InterBase dan Firebird

Pangkalan data ini memerlukan menetapkan dialek SQL kepada 3 untuk menggunakan pengecam yang dibataskan.

SET SQL DIALECT 3;  // Enable delimited identifiers
SELECT * FROM "my_table";

Lain-lain Pangkalan Data

Kebanyakan pangkalan data lain, termasuk SQL standard, menggunakan petikan dua sebagai pengecam terhad:

SELECT * FROM "my_table";

Dengan menggunakan pengecam yang dibataskan, pengguna pangkalan data boleh mencipta nama jadual dan lajur yang sebaliknya tidak disokong oleh SQL.

Atas ialah kandungan terperinci Bagaimanakah Pangkalan Data Berbeza Mengendalikan Pengecam Terhad untuk Nama Jadual dan Lajur?. 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