0

我在 SQL Server 中创建了以下表:

CREATE TABLE [dbo].[Application] (
    [Id]   INT            IDENTITY (1, 1) NOT NULL,
    [Name] NVARCHAR (MAX) NULL,
    CONSTRAINT [PK_dbo.Application] PRIMARY KEY CLUSTERED ([Id] ASC)
);

CREATE TABLE [dbo].[Account] (
    [Id]   INT            IDENTITY (1, 1) NOT NULL,
    [Name] NVARCHAR (MAX) NULL,
    CONSTRAINT [PK_dbo.Account] PRIMARY KEY CLUSTERED ([Id] ASC)
);

有没有办法可以更改这些,以便在应用程序表中存在指向帐户表的链接。如果有该应用程序的帐户,则无法删除该应用程序条目的链接?抱歉,如果这是一个基本问题,但我只知道如何使用设计器,我不确定如何在 SQL 中编写代码。

4

2 回答 2

2

在两个表之间添加外键关系。在您的情况下,您可能希望将另一个 int 类型列添加到名为 Application_Id 的 Account 表中。然后在Application表上添加Application_Id和Id的外来关系。我还建议可能将 Application 表上的 Id 更改为 Application_Id

CREATE TABLE [dbo].[Application] (
    [Application_Id]   INT            IDENTITY (1, 1) NOT NULL,
    [Name] NVARCHAR (MAX) NULL,
    CONSTRAINT [PK_dbo.Application] PRIMARY KEY CLUSTERED ([Application_Id] ASC)
);

CREATE TABLE [dbo].[Account] (
    [Id]   INT            IDENTITY (1, 1) NOT NULL,
    [Application_Id] INT,
    [Name] NVARCHAR (MAX) NULL,
    CONSTRAINT [PK_dbo.Account] PRIMARY KEY CLUSTERED ([Id] ASC),
    CONSTRAINT fk_AccountApps FOREIGN KEY (Application_Id)
    REFERENCES Application(Application_Id)
);

SQL小提琴

W3 学校外键

于 2013-02-26T12:51:41.317 回答
0

您的问题可以使用外键概念来解决。

http://en.wikipedia.org/wiki/Foreign_key

于 2013-02-26T13:06:35.673 回答