我有一张表,其中列“ID”的数据类型为int。
CREATE TABLE [dbo].[STUDENT]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[DOB] [datetime] NOT NULL ,
[NAME] [nvarchar](250) NULL,
[CLASS] [nvarchar](50) NULL,
CONSTRAINT [PK_STUDENT_DATA]
PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 95) ON [PRIMARY]
) ON [PRIMARY]
现在我想将数据类型从
int
改为 uniqueidentifier
。我已删除约束 PK_STUDENT_DATA
。我的 ALTER
语句是:ALTER TABLE dbo.STUDENT COLUMN ID uniqueidentifier
我遇到了错误:
身份列'HISTORY_ID'的数据类型必须是int、bigint、smallint、tinyint或带有0位小数或数字的十进制或数值,并且必须被限制为非空。
uniqueidentifier
有多么糟糕。我强烈建议不要这样做! - marc_s