Posted on 2011-12-27 17:59
ZhouFeng 閱讀(573)
評(píng)論(0) 編輯 收藏 所屬分類:
原創(chuàng) 、
DataBase
前段時(shí)間用了HSQLDB,感覺(jué)這個(gè)東東還不錯(cuò),這兩天在把一個(gè)以前MYSQL上的東東轉(zhuǎn)到HSQLDB上來(lái),除了一些類型需要轉(zhuǎn)換以外,還有就是外鍵的處理,著實(shí)讓我折騰了一番。因?yàn)槭窍到y(tǒng)改造,沒(méi)有使用ORM映射,若是使用Hibernate或MyBatis之類的來(lái)做,應(yīng)該會(huì)避免這個(gè)語(yǔ)句的問(wèn)題
在此用三個(gè)表的創(chuàng)建為例記錄一下外鍵的寫(xiě)法
create table notice(
id integer generated by default as primary key,
title varchar(30)
)
create table tbuser(
userid varchar(20) primary key,
username varchar(30)
)
create table noticecheck(
id integer references notice(id) on delete cascade,
userid varchar(20) references tbuser(userid) on delete cascade,
checktime timestamp default current_timestamp,
unique(id,userid)
)
另外noticecheck也可以使用如下的方式寫(xiě)語(yǔ)句
create table noticecheck(
id integer,
userid varchar(20),
checktime timestamp default current_timestamp,
unique(id,userid),
constraint noticecheck_fk_1 foreign key(id) references notice(id) on delete cascade,
constraint noticecheck_fk_2 foreign key(userid) references tbuser(userid) on delete cascade
)
好啦,就這樣,官方所給的文檔全E文的,費(fèi)勁。網(wǎng)上也少有這方面的資料,看來(lái)使用HSQLDB的還不多,記在這里了先:)