我是hsqldb的新手。我正在开发简单的应用程序来获取用户的一些输入。所以搜索嵌入式数据库,发现hsqldb是我的要求的解决方案。
我有一些创建表语法,但它会引发异常。
(此查询使用Netbeans数据库服务执行)
查询:
CREATE TABLE company (
comp_name varchar(100) NOT NULL,
comp_id int(40) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (comp_id)
);
或
CREATE TABLE company (
comp_name varchar(100) NOT NULL,
comp_id int(40) NOT NULL IDENTITY
);
hsql db抛出错误:
Error code -5581, SQL state 42581: unexpected token: ( : line: 3
Line 2, column 1
Execution finished after 0 s, 1 error(s) occurred.
请帮帮我..
先谢谢..
...干杯!
答案 0 :(得分:19)
使用INT or INTEGER
而不指定字段长度,因为Int类型字段不需要。它是VARCHAR
和DECIMAL
等所必需的。类型字段。
CREATE TABLE company (
comp_name varchar(100) NOT NULL,
comp_id int
);
要自动增加:
ALTER TABLE company ALTER COLUMN comp_id
SET GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1);
可替换地:
CREATE TABLE company (
comp_name varchar(100) NOT NULL,
comp_id int GENERATED BY DEFAULT AS IDENTITY
(START WITH 1, INCREMENT BY 1) NOT NULL
);
您也可以按如下方式添加PRIMARY_KEY:
CREATE TABLE company (
comp_name varchar(100) NOT NULL,
comp_id INTEGER NOT NULL,
PRIMARY KEY (comp_id)
);