2013-12-11 156 views
1

有沒有辦法讓FirebirdSql數據庫不區分大小寫,如果不是數據庫那麼就是一個完整的表?我知道在每列設置CharSet爲UTF8和COLLATE UNICODE_CI,但想知道是否有辦法做到整個數據庫。FirebirdSql不區分大小寫

+0

沒關係,我找到了。使用這個腳本:ALTER CHARACTER SET utf8設置默認排序規則unicode_ci_ai – edepperson

回答

0

您可以在數據庫配置默認字符集(包括整理)create

CREATE {DATABASE | SCHEMA} 
    ... 
    [DEFAULT CHARACTER SET charset [COLLATION collation]] 

當前火鳥版本不支持改變默認的字符使用DDL集,你需要做一個系統表的更新,如果你想要爲現有數據庫執行此操作。

如果未定義特定字符集,則默認字符集應用於列創建。如果未指定缺省字符集,則將其設置爲NONE(這基本上意味着:任何字節組合都是有效的)。

+0

我上面使用的腳本不工作嗎? – edepperson

+0

我在做什麼,在我的評論上面的腳本工作。我創建了一個測試用例。它不適用於已創建的任何表或列,但在運行腳本後創建的每個列或表都將不區分大小寫。 – edepperson

+0

@edepperson我其實不知道。我懷疑它只適用於在做了這個改變之後用'CHARACTER SET UTF8' **明確創建的列。還要注意調查查詢中列與字符串文字間的比較差異! –