首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaDB SQL命令是否独立?

JavaDB SQL命令是否独立?
EN

Stack Overflow用户
提问于 2010-04-29 22:27:19
回答 1查看 236关注 0票数 3

如果我错了,请纠正我,但是这个SQL命令:

代码语言:javascript
复制
create table MYTABLE (ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1))

不需要not null部分,因为默认情况下假设主键为NOT NULL。

这不是红色的吗?

(我不放心只是测试并同意结果,从长远来看,编程充满了惊喜)

我使用JavaDB/Derby。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-29 22:30:26

是的,主键是唯一索引和非空约束的组合。后者由SQL99标准特性E141-08定义。

在老版本的Derby中,似乎不可能创建主键,除非列也被声明为可空的:

代码语言:javascript
复制
> PRIMARY KEY does not imply NOT NULL. Derby issues error message:

ij> create table tab (i integer primary key);
ERROR 42831: 'I' cannot be a column of a primary key or unique key because it
can contain null values.

这是一个bug,而且一直是fixed

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2738109

复制
相关文章

相似问题

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