1

我创建了系统的 ERD,现在我想创建一个 SQL 代码。

这是我 ERD 中的一张表

那么 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

您的“外键”声明不完整 - 您需要说明外键引用的表/列。

如果您只想构建表格,

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 回答