我试图在Netbeans 8.0中创建一个SQL表,该表的其中一列用于存储byte [](因此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
请注意以下部分:
Unlike the case for the CHAR FOR BIT DATA type, there is no default length for a VARCHAR FOR BIT DATA type. The maximum size of the length value is 32,672 bytes.
因此,问题在于您尚未指定长度。
如果您的字节数组长为256个字节,则可以指定
pin VARCHAR (256) FOR BIT DATA NOT NULL,
如果适合您,您也可以考虑使用BLOB。您可以在此处查看所有Derby数据类型:http://db.apache.org/derby/docs/10.10/ref/crefsqlj31068.html
关于sql - 创建VARCHAR FOR BIT DATA列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24097532/