急!!如何通过sql语句,将表中字段的属性由text类型更改为varchar(100)

jltt 2002-11-07 09:33:10
急!!如何通过sql语句,将表中字段的属性由text类型更改为varchar(100)
...全文
787 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
china_0_1 2002-11-10
  • 打赏
  • 举报
回复
ALTER TABLE customer

MODIFY 自段名 varchar(100)
j9988 2002-11-10
  • 打赏
  • 举报
回复
alter table TABLENAME add NEWFIELD varchar(100)

update TABLENAME set NEWFIELD=OLDFIELD

alter table TABLENAME drop column OLDFIELD

exec sp_rename 'TABLENAME.NEWFIELD', 'OLDFIELD', 'COLUMN'
gejanry 2002-11-10
  • 打赏
  • 举报
回复
lixigang(就怕认真)说得是
用text检索的时候,建议你就用全文索引吧
老万2018 2002-11-09
  • 打赏
  • 举报
回复
十分可惜的告诉你SQL Server2000不能用程序代码把text类型的字段变成别的类型
jltt 2002-11-09
  • 打赏
  • 举报
回复
可是用text检索的时候,检索的速度太慢,而且,这一字段最大字符为70字,所以想改用varchar类型。

但是,我们的服务器是租用空间,所以,不能使用企业管理器。
jltt 2002-11-07
  • 打赏
  • 举报
回复
to yeahnope(金@_) :

麻烦你能不能给我解释一下
wyj581 2002-11-07
  • 打赏
  • 举报
回复
good
yeahnope 2002-11-07
  • 打赏
  • 举报
回复
就用普通的alter table语句:
CREATE TABLE [dbo].[TABLE1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[val] [text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[TABLE1] WITH NOCHECK ADD
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO

----------------

ALTER TABLE [dbo].[TABLE1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[val] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[TABLE1] WITH NOCHECK ADD
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO

cainiao000 2002-11-07
  • 打赏
  • 举报
回复 1
在企业管理器,直接在设计表中修改
lixigang 2002-11-07
  • 打赏
  • 举报
回复
要更改的列不能是:

数据类型为 text、image、ntext 或 timestamp 的列。
表的 ROWGUIDCOL 列。
计算列或用于计算列中的列。
被复制列。
用在索引中的列。
用在 PRIMARY KEY 或 [FOREIGN KEY] REFERENCES 约束中的列。
用在 CHECK 或 UNIQUE 约束中的列。
有相关联的默认值的列。



我看你还是不要改了,增加一新列算了

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧