我试图在Netbeans 8.0中创建一个SQL表,其中一个列用于存储字节[](因此VARBINARY是我正在寻找的类型)。用于创建新表的向导为我提供了VARCHAR for BIT DATA选项,这应该可以工作,但是在创建表时引发语法错误:
create table "BANK".Accounts
(
id NUMERIC not null,
pin VARCHAR FOR BIT DATA not null,
primary key(id)
)
错误是由于单词FOR的存在,所以我手动更改语句使其为
create table "BANK".Accounts
(
id NUMERIC not null,
pin "VARCHAR FOR BIT DATA" not null,
primary key(id)
)
,但现在的问题是该类型不存在。什么好主意吗?
谢谢。
下面是VARCHAR for BIT DATA的手册页:http://db.apache.org/derby/docs/10.10/ref/rrefsqlj32714.html
注意这一节说:
与CHAR for BIT DATA类型不同,VARCHAR for BIT DATA类型没有默认长度。长度值的最大长度为32,672字节。
问题是你没有指定长度
如果你的字节数组是256字节长,你可以指定
pin VARCHAR (256) FOR BIT DATA NOT NULL,
如果符合您的需求,也可以考虑使用BLOB。您可以在这里看到所有Derby数据类型:http://db.apache.org/derby/docs/10.10/ref/crefsqlj31068.html