0

さて、ここで少し困惑していますが、本当にばかげた質問のようです。

デフォルトで null である二重列を持つテーブルを作成しようとしています。私が得るのは、デフォルトで 0 の二重列を持つテーブルであり、その理由がわかりません。

コードの関連部分:

CREATE_TABLE_STATEMENT = "create table " + TABLE_NAME + " 
(id int not null generated always as identity constraint pk primary key, 
 parentid int default null, title varchar(50), minimum double default null,
 maximum double default null, timeUnit double default null, 
 comment varchar(150) default null)";

そして対応する「挿入」:

"insert into " + TABLE_NAME + " " + "(parentid, title) values (1, 'first')"
4

1 に答える 1

0

私の Derby のコピーでは問題なく動作するようです (以下を参照)。

デフォルトの null が適切に機能していないと思われる理由は何ですか?

ij> create table xxx (id int not null generated always as identity constraint pk primary key, 
 parentid int default null, title varchar(50), minimum double default null,
 maximum double default null, timeUnit double default null, 
 comment varchar(150) default null) ;
0 rows inserted/updated/deleted
ij> describe xxx;
COLUMN_NAME         |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
------------------------------------------------------------------------------
ID                  |INTEGER  |0   |10  |10    |AUTOINCRE&|NULL      |NO      
PARENTID            |INTEGER  |0   |10  |10    |NULL      |NULL      |YES     
TITLE               |VARCHAR  |NULL|NULL|50    |NULL      |100       |YES     
MINIMUM             |DOUBLE   |NULL|2   |52    |NULL      |NULL      |YES     
MAXIMUM             |DOUBLE   |NULL|2   |52    |NULL      |NULL      |YES     
TIMEUNIT            |DOUBLE   |NULL|2   |52    |NULL      |NULL      |YES     
COMMENT             |VARCHAR  |NULL|NULL|150   |NULL      |300       |YES     

7 rows selected
ij> insert into xxx (parentid, title) values (1, 'first');
1 row inserted/updated/deleted
ij> select * from xxx;
ID         |PARENTID   |TITLE                                             |MINIMUM               |MAXIMUM               |TIMEUNIT              |COMMENT                                                                                                                         
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1          |1          |first                                             |NULL                  |NULL                  |NULL                  |NULL                                                                                                                            

1 row selected
于 2011-08-27T20:52:15.663 に答える