【问题标题】:Cannot add primary key无法添加主键
【发布时间】:2019-07-24 14:18:03
【问题描述】:

我将一个包含所需数据的 excel 文件导入 Sql Server。现在我想用这个语句添加一个主键:

alter table Tickets add constraint idTicket primary key (TOC);;

但我收到此错误:

消息 8111,第 16 级,状态 1,第 1 行 无法在表 'Tickets' 中为可为空的列定义 PRIMARY KEY 约束。 消息 1750,第 16 级,状态 0,第 1 行 无法创建约束或索引。查看以前的错误。

我查看了,但在这里找不到解决方案。我该如何解决这个问题?

【问题讨论】:

  • 根据消息,主键必须是非NULL,因此列也必须这样定义。 TOC 需要更改为非NULL(对此的声明取决于TOC 的类型)。
  • 只是通常意味着您的一列 (idTicket) 允许不能作为主键的空值,只需转到表设计并取消选中您希望作为主键的列上的允许空值框.

标签: sql sql-server


【解决方案1】:
ALTER TABLE Tickets
ALTER TOC INT NOT NULL
GO

然后进行查询以添加主键

【讨论】:

  • 您知道如何删除表中的重复值吗?因为我需要删除这些行并仅使用唯一值保留我的表
  • @RagingDeathWish:那是another question altogether
  • [大家齐声] “那是另一个问题。”
  • */me 用一条大鳟鱼拍@Brian*
猜你喜欢
  • 2019-11-11
  • 2016-05-28
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多