Posted on 2011-12-27 17:59
ZhouFeng 阅读(547)
评论(0) 编辑 收藏 所属分类:
原创 、
DataBase
前段时间用了HSQLDB,感觉这个东东还不错,这两天在把一个以前MYSQL上的东东转到HSQLDB上来,除了一些类型需要转换以外,还有就是外键的处理,着实让我折腾了一番。因为是系统改造,没有使用ORM映射,若是使用Hibernate或MyBatis之类的来做,应该会避免这个语句的问题
在此用三个表的创建为例记录一下外键的写法
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也可以使用如下的方式写语句
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文的,费劲。网上也少有这方面的资料,看来使用HSQLDB的还不多,记在这里了先:)