首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java derby中自动递增数据库列?

如何在Java derby中自动递增数据库列?
EN

Stack Overflow用户
提问于 2017-02-18 00:14:40
回答 3查看 5.3K关注 0票数 3

下面是我到目前为止尝试创建表的SQL

代码语言:javascript
复制
CREATE TABLE tblPosts (nId INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
strContent VARCHAR(140) NOT NULL,
strLink VARCHAR(200),
strImage VARCHAR(200));

使用

代码语言:javascript
复制
String sql = "INSERT INTO tblPosts VALUES ('" + textFieldContent.getText() + "', '" + 

textFieldLink.getText() + "', '" + textFieldImage.getText() + "')";

我得到一个错误,告诉我我没有提供nId列值,但是如果列自动递增,我不应该这样做,对吗?

我还尝试使用IDE在数据库上创建表,如下所述

Alter a table column with auto increment by 1 in derby

不过反应是一样的。有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-18 00:23:07

我猜想,因为您没有在SELECT中指定列名,所以会混淆数据应该放在哪些列中。我会在INSERT命令中指定列名。

票数 1
EN

Stack Overflow用户

发布于 2018-08-19 02:11:54

您需要像这样包含Start with 1, Increment by 1

代码语言:javascript
复制
CREATE TABLE tblPosts (nId INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY(Start with 1, Increment by 1), 
strContent VARCHAR(140) NOT NULL, 
strLink VARCHAR(200)
票数 4
EN

Stack Overflow用户

发布于 2020-08-14 19:53:46

您需要将auto_increment列设置为默认值,如下所示:

代码语言:javascript
复制
String sql = "INSERT INTO tblPosts VALUES ( DEFAULT, '" + textFieldContent.getText() + "', '" + 

textFieldLink.getText() + "', '" + textFieldImage.getText() + "')";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42302541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档