SqlServer主键外键添加及判断表是否存在

Posted 蒹葭白露

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer主键外键添加及判断表是否存在相关的知识,希望对你有一定的参考价值。

GO
--判断表是否存在方式1
if object_id(NEF_User,NU) is null
--判断表是否存在方式2
--if not exists (select * from dbo.SysObjects WHERE id = object_id(N‘[EF_User]‘) AND OBJECTPROPERTY(ID, ‘IsTable‘) = 1) 
begin
--直接创建自增且指定主键约束的表
CREATE TABLE [dbo].[EF_User](
    [ID] [int] identity(1,1) not null,
    [loginName] [nvarchar](100) NULL,
    [realName] [nvarchar](100) NULL,
    [phoneNo] [nvarchar](100) NULL,
    CONSTRAINT [PK_User] PRIMARY KEY(ID)
)
--删除主键约束
alter table [dbo].[EF_User] drop constraint PK_User
--添加主键约束
alter table [dbo].[EF_User] add constraint PK_User primary key(ID)

end

GO
CREATE TABLE [dbo].[EF_Role](
    [ID] [int] identity(1,1) not null,
    [Name] [nvarchar](100) NULL,
    [remark] [nvarchar](100) NULL,
    constraint [PK_Role] Primary Key(ID)
) 

GO
CREATE TABLE [dbo].[EF_User_Role](
    [UserID] [int] NOT NULL,
    [RoleID] [int] NOT NULL
)
--添加外键约束
alter table EF_User_Role add constraint FK_User_Role_User foreign key (UserID)
references EF_User(ID)
alter table EF_User_Role add constraint FK_User_Role_Role foreign key (RoleID)
references EF_Role(ID)
GO

 

以上是关于SqlServer主键外键添加及判断表是否存在的主要内容,如果未能解决你的问题,请参考以下文章

sql server的主键与外键问题

在MySQL中如何设置主键和外键

MSSQL更新数据,某主键存在则更新,不存在则插入

sql用命令创建主键与外键。

数据库之主键外键

JAPANESE 如何在没有额外列或额外映射表的情况下拥有主键外键关系