无法在SQL Server中创建一个名为State的表?

2 sql-server

我想在我的数据库中保存一个状态列表.但似乎我不能称之为"国家".SQL Management Studio中的Intellisense以不同的方式对其进行着色.

这是一个正确的假设,我应该称之为别的吗?

create table Category
(
    ID int primary key identity(1,1),
    Name nvarchar(256) not null
)

go

create table Subcategory
(
    ID int primary key identity(1,1),
    Name nvarchar(256) not null,
    IDCategory int foreign key references Category(ID)
)

go

create table Advert
(
    ID int primary key identity(1,1),
    IDAdvertiser int foreign key references Advertiser(ID),
    IDSubcategory int foreign key references Subcategory(ID),
    ImagePath nvarchar(2048) not null,
    StartDate datetime not null,
    FinishDate datetime
)

go

create table Advertiser
(
    ID int primary key identity(1,1),
    Name nvarchar(2048) not null,
    Contact nvarchar(256) not null,
    Website nvarchar(256) not null
)

go

create table State
Run Code Online (Sandbox Code Playgroud)

Nei*_*l N 6

将其称为[State]以避免与系统保留字冲突.虽然在大多数情况下,这不是必需的,但解析器通常足够聪明,可以知道何时引用表名.