sql-server - 无法在 SQL Server 中创建名为 State 的表?

标签 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

最佳答案

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

关于sql-server - 无法在 SQL Server 中创建名为 State 的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402402/

相关文章:

sql-server - 是否可以同时使用 Entity Framework 和数据库项目?

sql - 有没有更简单的方法来编写这个查询? [微软SQL服务器]

sql - 查询列出 SQL Server 存储过程以及每个过程的代码行

sql - 如何在 MSSQL 中使用聚合函数更新表中的两列?

c# - 如何在 SQL Server 中存储和检索 varbinary(max) 列

sql-server - 使用 FreeTDS 和 UnixODBC。能够连接,但无法从 isql 或 RODBC 执行任何 SQL 命令

SQL Server - 查询以检索列名和列总和

sql-server - 如何在不使用参数的情况下从结果集中获取逗号分隔的结果

sql - 插入到选择不存在的sql server多列主键冲突

sql-server - 返回 id 并拆分逗号分隔值的 SQL 语句