【发布时间】:2015-07-23 09:07:01
【问题描述】:
我的表中需要UNIQUE 列。
我的桌子:
CREATE TABLE my_table
(
id int IDENTITY PRIMARY KEY,
name text NOT NULL UNIQUE,
blabla text NOT NULL
);
我得到一个错误:
表 'my_table' 中的列 'name' 的类型对 用作索引中的键列。无法创建约束或索引。 查看以前的错误。
那么,如何在表格中添加UNIQUE 列?
【问题讨论】:
-
您的错误说明了一切,您不能在像
text这样的 LOB 字段上添加唯一约束。我想你想要VARCHAR/CHAR -
您真的需要
name字段为TEXT类型吗?您确定要在其中存储千兆字节的数据吗? -
ntext、text和image数据类型将在 SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max)、varchar(max)和varbinary(max)。 See details here -
使用
varchar(n)(其中n是所需的最大长度)而不是已弃用的text数据类型
标签: sql-server database unique