Apache derby Double datatype - и пытается установить для него значение по умолчанию "null" - PullRequest
0 голосов
/ 27 августа 2011

Ну, я немного озадачен, но это, кажется, очень тупой вопрос.

Я пытаюсь создать таблицу с двойным столбцом, который по умолчанию равен нулю.Я получаю таблицу с двойным столбцом, которая по умолчанию равна 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')"

1 Ответ

0 голосов
/ 28 августа 2011

Кажется, работает нормально на моей копии 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
...