【发布时间】:2015-05-18 08:43:48
【问题描述】:
我想创建一个名为 tbl_Ticket_Mail_Address 的表。创建表时显示错误。
表:
CREATE TABLE [dbo].[tbl_Ticket_Mail_Address] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Designation] NVARCHAR (MAX) NULL,
[Emp_ID] NVARCHAR (MAX) NOT NULL,
[Emp_Name] NVARCHAR (MAX) NULL,
[Mobile] NVARCHAR (MAX) NULL,
[Emp_Email] NVARCHAR (MAX) NULL,
[Category] NVARCHAR (MAX) NULL,
[Created_By] NVARCHAR (MAX) NULL,
[Created_Date] DATE NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [uc_tbl_Ticket_Mail_Address] UNIQUE NONCLUSTERED ([Emp_ID] ASC, [Category] ASC)
);
58,1): SQL72014: .Net SqlClient 数据提供者: Msg 1919, Level 16, State 1, Line 1 表 'tbl_Ticket_Mail_Address' 中的列 'Emp_ID' 的类型不能用作关键列一个索引。 (58,0): SQL72045: 脚本执行错误。执行的脚本:
CREATE TABLE [dbo].[tbl_Ticket_Mail_Address] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Designation] NVARCHAR (MAX) NULL,
[Emp_ID] NVARCHAR (MAX) NOT NULL,
[Emp_Name] NVARCHAR (MAX) NULL,
[Mobile] NVARCHAR (MAX) NULL,
[Emp_Email] NVARCHAR (MAX) NULL,
[Category] NVARCHAR (MAX) NULL,
[Created_By] NVARCHAR (MAX) NULL,
[Created_Date] DATE NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [uc_tbl_Ticket_Mail_Address] UNIQUE NONCLUSTERED ([Emp_ID] ASC, [Category] ASC)
);
(58,1): SQL72014: .Net SqlClient 数据提供者: Msg 1750, Level 16, State 0, Line 1 无法创建约束或索引。请参阅以前的错误。 (58,0): SQL72045: 脚本执行错误。执行的脚本: 执行批处理时出错。
【问题讨论】:
-
你真的希望人们将莎士比亚的全集插入到例如
Mobile?为您的列选择合理的数据长度,而不是一刀切地选择nvarchar(max),假设Emp_ID下降到合理的大小,问题应该会消失。 -
@Damien_The_Unbeliever:谢谢。 ...
-
ID 列通常是数字。为什么
Emp_ID使用 nvarchar?
标签: sql-server