Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 更改列的数据类型_Sql_Sql Server 2000 - Fatal编程技术网

Sql 更改列的数据类型

Sql 更改列的数据类型,sql,sql-server-2000,Sql,Sql Server 2000,我需要在我的一个表中更改列的数据类型,但是这个表包含数据。我的问题是,我无法清空该表以达到我的目的,因此我需要在不清空该表的情况下更改列的数据类型 我能做什么?你试过改变桌子了吗 ALTER TABLE table_name MODIFY column_name column_type; 只能通过以下方式更改text、ntext和image列的数据类型: text至varchar(max),nvarchar(max),或xml ntext到varchar(max),nvarchar(max)

我需要在我的一个表中更改列的数据类型,但是这个表包含数据。我的问题是,我无法清空该表以达到我的目的,因此我需要在不清空该表的情况下更改列的数据类型


我能做什么?

你试过改变桌子了吗

ALTER TABLE table_name
MODIFY column_name column_type;
只能通过以下方式更改text、ntext和image列的数据类型:

  • text
    varchar(max)
    nvarchar(max)
    ,或
    xml
  • ntext
    varchar(max)
    nvarchar(max)
    ,或
    xml
  • image
    to
    varbinary(max)

对于其他转换,您必须进行铸造。请参阅铸造

您尝试过改变表吗

ALTER TABLE table_name
MODIFY column_name column_type;
只能通过以下方式更改text、ntext和image列的数据类型:

  • text
    varchar(max)
    nvarchar(max)
    ,或
    xml
  • ntext
    varchar(max)
    nvarchar(max)
    ,或
    xml
  • image
    to
    varbinary(max)

对于其他转换,您必须进行铸造。请参阅铸造

您在此处的最佳选择是创建一个带有适当列的新表

创建后,根据需要将现有表的值插入到该表中。然后才重新引入约束等(如果在插入之前这样做,将惩罚插入性能)

完成后,将
表格
重命名为
旧表格
,将
新表格
重命名为
表格


当然,您需要在应用程序脱机时执行此操作。

您在这里的最佳选择是创建一个带有适当列的新表
new\u table

创建后,根据需要将现有表的值插入到该表中。然后才重新引入约束等(如果在插入之前这样做,将惩罚插入性能)

完成后,将
表格
重命名为
旧表格
,将
新表格
重命名为
表格


当然,您需要在应用程序脱机时执行此操作。

请描述原始列类型和目标列类型?修改数据以满足目标数据类型的需要,然后更改表格。请描述原始列类型和目标列类型?修改数据以满足目标数据类型的需要,然后更改表格。
更改表格。。。MODIFY…
不是有效的SQL Server语法。它必须是
ALTER TABLE(TABLE\u name)ALTER COLUMN(COLUMN\u name)…
才能对SQL Server有效
ALTER TABLE。。。MODIFY…
不是有效的SQL Server语法。它必须是
ALTER TABLE(TABLE_名称)ALTER COLUMN(COLUMN_名称)…
才能对SQL Server有效