Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaDB SQL命令reduntant?_Java_Sql_Derby_Javadb - Fatal编程技术网

JavaDB SQL命令reduntant?

JavaDB SQL命令reduntant?,java,sql,derby,javadb,Java,Sql,Derby,Javadb,如果我错了,请更正,但此SQL命令: create table MYTABLE (ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)) 不需要NOTNULL部分,因为默认情况下,主键假定为NOTNULL 这不是reduntant吗 (我不能只测试它并同意结果,从长远来看,编程充满了惊喜) 我使用的是JavaDB/Derby。是的,主键是唯一索引和非空约束的组合。后

如果我错了,请更正,但此SQL命令:

create table MYTABLE (ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1))
不需要NOTNULL部分,因为默认情况下,主键假定为NOTNULL

这不是reduntant吗

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


我使用的是JavaDB/Derby。

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

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

> 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.
这是一个错误,它一直是