创建VARCHAR FOR BIT DATA列

时间:2014-06-07 13:07:43

标签: sql netbeans derby

我正在尝试在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)
    )

但现在的问题是该类型不存在。有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

这是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