首页 > 解决方案 > 我正在尝试将三个表与一个持有外键的表一起使用

问题描述

我试图让这个 SQL 工作。谁能帮我?

CREATE TABLE artists 
(
    a_id INTEGER , 
    namn TEXT
);

CREATE TABLE tracks 
(
    t_id INTEGER ,
    titel   TEXT 
);

INSERT INTO artiststracks VALUES (2,2);

CREATE TABLE artiststracks 
(
    artist INTEGER,
    tracks INTEGER,
    FOREIGN KEY(artist) REFERENCES artists(a_id), 
    FOREIGN KEY(tracks) REFERENCES tracks(t_id)
);

标签: sqlforeign-keysprimary-key

解决方案


看起来您正试图进入您将在创建之前创建INSERT的最后一个名为您的表。artiststracks这是一个会出错的地方。重新排列代码序列应该可以解决它 -

CREATE TABLE artists (
  a_id INTEGER, 
  namn TEXT
);

CREATE TABLE tracks (
  t_id INTEGER,
  titel TEXT 
);

CREATE TABLE artiststracks (
  artist INTEGER,
  tracks INTEGER,
  FOREIGN KEY(artist) REFERENCES artists(a_id), 
  FOREIGN KEY(tracks) REFERENCES tracks(t_id)
);

INSERT INTO artiststracks VALUES (2,2);

推荐阅读