0

別のテーブルへの関係を参照する挿入中に外部キーを挿入するにはどうすればよいですか。

バンド テーブルに既存のバンドを持つ CD 'duck' を挿入しようとしています。

INSERT INTO CD (TITLE, YEAR) VALUES ('Ducks', 2013);

私のアプリケーションは Java であり、2 つのクラスがあります。

 Band class:
    String name
    int year
    ArrayList<String> members

 CD class:
    String title
    int year

SQL テーブル

CREATE TABLE BAND 
(
   BAND_ID INT NOT NULL AUTO_INCREMENT,
   NAME VARCHAR(50),
   YEAR INT,
   PRIMARY KEY(BAND_ID)
);

CREATE TABLE CD
(
   CD_ID INT NOT NULL AUTO_INCREMENT,
   TITLE VARCHAR(50),
   YEAR INT,
   B_ID INT,
   PRIMARY KEY(CD_ID),
   FOREIGN KEY(B_ID) REFERENCES BAND(BAND_ID)
);

CREATE TABLE MEMBER
(
   MEMBER_ID INT NOT NULL AUTO_INCREMENT,
   NAME VARCHAR(50),
   B_ID INT,
   PRIMARY KEY(MEMBER_ID),
   FOREIGN KEY(B_ID) REFERENCES BAND(BAND_ID)
);
4

2 に答える 2

1

ちょうどこのような:

INSERT INTO CD (TITLE, YEAR, B_ID) VALUES ('Ducks', 2013, THEBANDID);

ただし、使用する B_ID はテーブル Bands に存在する必要があります。したがって、挿入を行う前にそれを確認できます

SELECT * FROM BAND WHERE BAND_ID = THEBANDID
于 2013-05-27T08:09:55.827 に答える