2017-02-10 107 views
0

有人可以解释我如何在hsql中使用外键? 我想在创建表中,但工作改变表也是好的。 我工作没有工具,只是在月食 什么是错误的HSYS代码?如何用hsql创建表的外键?

CREATE TABLE user(
    t_id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1, INCREMENT BY 1) PRIMARY KEY, 
    name VARCHAR(30), 
    lastname VARCHAR(30), 
    email VARCHAR(30), 
    --FOREIGN KEY (b_id) REFERENCES bookingnumber(b_id) 
); 

CREATE TABLE bookingnumber (
    b_id INTEGER PRIMARY KEY 
); 

ALTER TABLE user 
    ADD FOREIGN KEY (fk_b_id) REFERENCES bookingnumber(b_id); 

回答

0

也许你正试图将每个预订号码链接到用户。在这种情况下,每个用户可能存在多个预订号码。如果要执行此操作,请将列T_ID添加到BOOKINGNUMBER表中,并在该表上创建外键。

但是您的声明将每个用户链接到预订号并且没有正确的语法。它需要在USER表中有一个名为B_ID的列才能工作。和语法会是这样:

ALTER TABLE user ADD FOREIGN KEY (b_id) REFERENCES bookingnumber(b_id); 
0

谢谢你, 我会尝试在周一又看了我的代码,周五是一个坏主意犯;) 也许我应该在这里安装HSQLDB,嵌入式是难以调试

我想“一个预订号码可以有一对多的用户”