Jdbc

任何數據庫表名都可以支持雙引號“嗎?

  • February 14, 2019

我需要知道是否有任何數據庫支持將雙引號作為其表名的一部分。我對 JDBC 兼容的數據庫特別感興趣。如果他們這樣做,我能知道怎麼做嗎?

根據 SQL 標準,這應該可以通過加倍雙引號來實現(類似於在字元串常量中轉義單引號)。

至少 Postgres 確實支持這一點(而 Oracle 不支持,導致“ ORA-03001: unimplemented feature ”)

create table "really""stupid_name"(id integer);

線上範例:https ://rextester.com/JYCW13692


但是,一開始就使用帶引號的標識符是一個壞主意。更不用說依次包含雙引號的標識符了。

我強烈建議你要這樣做。

Server version: 8.0.12 MySQL Community Server - GPL
mysql> CREATE TABLE `test"d"quote` (id int);
Query OK, 0 rows affected (0.31 sec)

mysql> insert into `test"d"quote` values (1), (11);
Query OK, 2 rows affected (0.11 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from `test"d"quote`;
+------+
| id   |
+------+
|    1 |
|   11 |
+------+
2 rows in set (0.00 sec)

mysql> drop table `test"d"quote`;
Query OK, 0 rows affected (0.22 sec)

引用自:https://dba.stackexchange.com/questions/229726