1

システムの ERD を作成しましたが、SQL コードを作成したいと考えています。

これは私の ERD の表の 1 つです

では、SQL コードは次のようになりますか?:

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL FOREIGN KEY
);
4

2 に答える 2

3

問題はFOREIGN KEYクエリの一部にあり、そこで外部キーを定義していません。これを削除すると、クエリは機能しますが、FKが定義されていません。

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL 
);

外部キーを作成する場合は、次のようなことを行う必要があります(正しいテーブルと列を使用)。

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL REFERENCES Group(Group_ID)
);
于 2013-01-22T15:31:56.693 に答える
2

「FOREIGN KEY」宣言が不完全です。外部キーが参照するテーブル/列を指定する必要があります。

テーブルを構築したいだけの場合は、

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL);

動作するはずです。

于 2013-01-22T15:32:22.030 に答える