gpt4 book ai didi

java - 如何以小写名称创建表 - JavaDB/Derby?

转载 作者:行者123 更新时间:2023-12-02 13:30:54 26 4
gpt4 key购买 nike

是否可以使用 JavaDB/Derby 创建小写的表及其名称?要检查表是否存在,我正在使用:

ResultSet rs = dbmd.getTables(null, "APP", "user_properties", null);
if (!rs.next()) {/*do something*/};

但是表名“user_properties”必须与目录中的大小写一致。

最佳答案

Derby 遵循 ANSI 标准,该标准要求将不带引号的标识符折叠为大写。因此,有以下声明:

create table user_properties
(
id integer not null
);

将创建一个名为 USER_PROPERTIES 的表和一个名为 ID 的列。

您可以使用带引号的标识符强制 Derby 存储小写(或实际上混合大小写)名称:

create table "user_properties"
(
"id" integer not null
);

将创建一个名为 user_properties 的表和一个名为 id 的列。

当您使用带引号的标识符(也称为“分隔标识符”)时,它们会区分大小写,因此第二个表必须始终使用双引号引用。

如果使用第二条语句创建表,则语句 select * from user_properties不起作用。您必须始终引用它:select * from "user_properties"

使用带引号的标识符通常会带来更多的麻烦,而不是其值(value)。如果您从不引用标识符,则可以在调用 getTables()

时安全地使用大写名称

关于java - 如何以小写名称创建表 - JavaDB/Derby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19156565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com