2013-12-11 161 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' **明确创建的列。还要注意调查查询中列与字符串文字间的比较差异! –