有人可以解释一下如何在hsql中使用外键吗? 我想在一个创建表中,但工作alter table也没关系。 我在没有工具的情况下工作,只是在日食中 什么是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 :(得分:3)
也许您正在尝试将每个预订号码链接到用户。在这种情况下,每个用户可能存在多个预订号码。如果要执行此操作,请将列T_ID添加到BOOKINGNUMBER表并在此表上创建外键。
但您的陈述是将每个用户与预订号码相关联,并且没有正确的语法。它需要USER表中名为B_ID的列才能工作。语法如下:
ALTER TABLE user ADD FOREIGN KEY (b_id) REFERENCES bookingnumber(b_id);
答案 1 :(得分:0)
我面临类似的情况,这对我有帮助
CREATE TABLE child(c1 INTEGER, c2 VARCHAR, FOREIGN KEY (c1, c2) REFERENCES parent(p1, p2));
更详细的解释可以在http://www.d.umn.edu/~tcolburn/cs4531/hsqldb_docs/guide/guide.html#N102F8
中找到