在 SQL 資料庫中轉義列名
SQL 是否有標準化的列名轉義方法?如果沒有,MySQL、SQLite 和 SQL Server 支援哪些方法?
SQL 標準與識別符分隔符號
SQL:1999 標準規定必須使用雙引號 (") 作為分隔符號來括起標識符,包括列名。
<code><delimited identifier=""> ::= <double quote=""><delimited body="" identifier=""><double quote=""></double></delimited></double></delimited></code>
對分隔列名的支援
大多數流行的 SQL 資料庫,包括 Oracle、PostgreSQL、MySQL、MSSQL 和 SQLite,都支援使用雙引號作為標識符分隔符號。但是,並非所有資料庫都將其用作預設值。
MySQL
在 MySQL 中,若要使用雙引號作為列名分隔符,必須啟用 ANSI 模式。
SQL Server
在 SQL Server 中,只有當 QUOTED_IDENTIFIER 選項設為 ON 時,才支援使用雙引號作為列名分隔符號。
範例用法
要在這些資料庫中使用雙引號轉義列名,只需用引號將列名括起來。
<code>SELECT * FROM "table_name" WHERE "column_name" = 'value';</code>
注意:
雖然雙引號是轉義列名的標準方法,但某些資料庫也可能支援其他分隔符,例如方括號 ([ 和 ])。但是,通常建議使用雙引號,以確保在不同資料庫之間的相容性和一致性。
以上是如何轉義 MySQL、SQLite 和 SQL Server 中的欄位名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!