sql - 创建VARCHAR FOR BIT DATA列

标签 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)
    )

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

谢谢。

最佳答案

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

相关文章:

sql - 对属性性别施加约束,使其仅接受 'F' 或 'M' 个字符

java - java中的时间戳作为文件名

sql - 如何获取PostgreSQL中每五分之一数据的行数

java - 我在 Netbeans 中对 Integer 进行了不必要的装箱

sql - 语法错误: Encountered "<EOF>" in derby on DROP SEQUENCE statement

java.lang.NoClassDefFoundError JPA 示例

mysql - ALTER 表 - 在 MySQL 中添加 AUTOINCREMENT

java - 更新 JFrame 最大化边界,同时保持其最大化

java - Netbeans,Control-O 打开类找到类但找不到文件

Java resultset.next() 不返回结果