我正在尝试ALTER TABLE Signatures ALTER COLUMN HTML ntext;
,但我得到Cannot alter column 'HTML' because it is 'text'.
如何改变列?
答案 0 :(得分:18)
你可以分两步完成:
-- first alter from text to varchar
ALTER TABLE table_1 ALTER COLUMN [test] [varchar](max) NULL;
-- and finally to ntext
ALTER TABLE table_1 ALTER COLUMN [test] [ntext] NULL;
答案 1 :(得分:2)
或者您可以将HTML重命名为HTMLOld,然后创建一个ntext的新列HTML。然后使用HTML old中的数据更新新列,然后删除HTMLOld列。
(顺便提一下,当你离开SQL Server 2000时,你需要开始删除这些text和ntext列,因为它们已被弃用,并且在下一版本的SQL Server中不可用。)
答案 2 :(得分:0)
1)在表格上创建一个新的数据类型ntext列 2)运行更新语句以从html复制到新的ntext列 3)删除你的html列 4)将新列重命名为html(如果需要)
答案 3 :(得分:-1)
你不能。您需要创建一个新表(包括权限,触发器等),复制数据并删除旧表。