首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改varchar列的最大长度?

更改varchar列的最大长度?
EN

Stack Overflow用户
提问于 2012-01-12 09:34:48
回答 7查看 413.4K关注 0票数 221

我试图在不丢失内容的情况下将varchar列的长度从255个字符更新为500个字符。我以前删除过并重新创建过表,但我从来没有接触过alter语句,我认为我需要使用alter语句来完成这项工作。我在这里找到了文档:ALTER TABLE (Transfact-SQL),但是我对它一无所知。

到目前为止,我有以下几点(遗憾的是基本上什么都没有):

代码语言:javascript
复制
alter table [progennet_dev].PROGEN.LE
alter column UR_VALUE_3

我该怎么做呢?对于这个语句,有没有更好的文档(我对一个示例语句进行了一些搜索,但没有找到)?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-01-12 09:36:21

你需要

代码语言:javascript
复制
ALTER TABLE YourTable ALTER COLUMN YourColumn <<new_datatype>> [NULL | NOT NULL]

但请记住,如果需要,请显式指定NOT NULL

代码语言:javascript
复制
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NOT NULL;

如果您不指定它,如下所示...

代码语言:javascript
复制
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500);

则该列将缺省为允许空值,即使它最初被定义为NOT NULL。也就是说,在ALTER TABLE ... ALTER COLUMN中省略规范总是被视为。

代码语言:javascript
复制
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NULL;

此行为与使用ALTER TABLE (或在CREATE TABLE时)创建的新列的行为不同。在这里,默认的可空性取决于ANSI_NULL_DFLT设置。

票数 421
EN

Stack Overflow用户

发布于 2012-01-12 09:37:20

使用ALTER增加列大小不会丢失任何数据:

代码语言:javascript
复制
alter table [progennet_dev].PROGEN.LE 
    alter column UR_VALUE_3 varchar(500) 

正如@Martin指出的那样,记住要显式地指定NULL | NOT NULL

票数 27
EN

Stack Overflow用户

发布于 2018-03-28 17:52:22

对于除MSSQL之外的MySQL或DBMSes,您可能需要使用modify代替alter作为列值:

代码语言:javascript
复制
ALTER TABLE `table name` 
modify COLUMN `column name` varchar("length");
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8829053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档