我正在尝试创建一个新的人行横道/交叉表(synonyms
):
这是我的SQL:
CREATE TABLE synonyms (
base_word_id INTEGER NOT NULL,
synonym_id INTEGER NOT NULL,
CONSTRAINT fk_words_based_id FOREIGN KEY (base_word_id) REFERENCES words(word_id)
);
words
表包含(您猜对了),关于这些单词的单词和元数据。 synonyms
表是一个多对多表,包含单词及其同义词的关系,这些是其他单词。 synonym_id
是单词的ID,它是base_word_id
代表的单词的同义词。
对抗H2 DB我收到以下错误:
Error: Table "WORDS" not found; SQL statement:
CREATE TABLE synonyms(
base_word_id INTEGER NOT NULL,
synonym_id INTEGER NOT NULL,
CONSTRAINT fk_words_based_id FOREIGN KEY (base_word_id) REFERENCES words(word_id)
) [42102-173]
SQLState: 42S02
ErrorCode: 42102
在我的数据库中,WORDS
不是表,但words
是。所以看起来H2可能是上层words
到WORDS
?
答案 0 :(得分:0)
看起来你像这样创建了“单词”表:
create table "words"(...)
如果您这样做,那么表名称区分大小写,您必须始终引用它。为避免这种情况,请创建不带双引号的表:
create table words(...)