posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

HSQLDB外键使用

Posted on 2011-12-27 17:59 ZhouFeng 阅读(540) 评论(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(20primary key,
    username 
varchar(30)
)

create table noticecheck(
    id 
integer references notice(id) on delete cascade,
    userid 
varchar(20references 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的还不多,记在这里了先:)

只有注册用户登录后才能发表评论。


网站导航: