SQL Server 2000 - 如何将列从text更改为ntext?

时间:2011-02-23 18:41:31

标签: tsql sql-server-2000

我正在尝试ALTER TABLE Signatures ALTER COLUMN HTML ntext;,但我得到Cannot alter column 'HTML' because it is 'text'.

如何改变列?

4 个答案:

答案 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)

你不能。您需要创建一个新表(包括权限,触发器等),复制数据并删除旧表。