我編寫了一個與某些數據庫引擎(例如MySQL,PostgreSQL)互操作的scala程序。使用JDBC創建表查詢不適用於不同的數據庫引擎
我使用JDBC API來處理SQL查詢。我使用查詢來創建表,並且我想創建一個包含用戶提供的字段的表,然後這些字段是可以包含空格或帶有口音的單詞的名稱。
例如,創建一個表虛設用2個場,'列1'和'列2'爲varchar字段。
寫這個查詢MySQL數據庫,同時保持包含在田裏的空間,我們需要像查詢中使用反引號:
CREATE TABLE dummy (`column 1` varchar(20), `column 2` varchar(20));
以同樣的方式,正確的方式來寫這個查詢的PostgreSQL同時保留空格爲:
CREATE TABLE dummy ("column 1" varchar(20), "column 2" varchar(20));
也許對於其他數據庫引擎,有不同的方法來編寫此查詢。
是否有任何標準的方式來編寫這個查詢與上面的constrainsts和使用JDBC,以便它可以與任何數據庫引擎一起使用?
預先感謝您的回答。
您可以考慮使用像Hibernate這樣的ORM工具,它將處理語法中某些數據庫特定的細微差別。 –
不,但處理空間我列名和區分大小寫的名字,是一場噩夢。我只是禁止這一點。或者用下劃線替換空格。 –