SQL中如何改变一列的数据类型

SQL中如何改变一列的数据类型,第1张

你可以使用

ALTER

TABLE

ALTER

COLUMN

来更改指定的列数据类型,如:

CREATE

TABLE

myTest

(fId

int,fName

nvarchar(20)

null)

创建一个表,名为:myTest,包含两个字段。如果此时你想要更改

fName

列,那么可以使用以下语句:

ALTER

TABLE

myTest

ALTER

COLUMN

fName

nvarchar(30)

null

这里要注意,如果指定的新的数据类型长度比原来的数据类型小,那么会出现数据丢失的情况,所以千万要注意,另外,不是所有的数据类型都可以更改,以下是SQL联机丛书中提到的注意事项:

要更改的列不能是:

·数据类型为

text、image、ntext

timestamp

的列。

·表的

ROWGUIDCOL

列。

·计算列或用于计算列中的列。

·被复制列。

·用在索引中的列,除非该列数据类型是

varchar、nvarchar

varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。

·用在由

CREATE

STATISTICS

语句创建的统计中的列。首先用

DROP

STATISTICS

语句删除统计。由查询优化器自动生成的统计会由

ALTER

COLUMN

自动除去。

·用在

PRIMARY

KEY

[FOREIGN

KEY]

REFERENCES

约束中的列。

用在

CHECK

UNIQUE

约束中的列,除非用在

CHECK

UNIQUE

约束中的可变长度列的长度允许更改。

·有相关联的默认值的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。

使用ALTER命令修改,格式:

ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型定义;

例如:

ALTER TABLE chatter_users MODIFY COLUMN ip VARCHAR(50);

阻止保存要求重新创建表的更改"前面的勾楼上才是瞎搞

解决办法:启动MSSQL

SERVER

Management

Studio,因为设计器是使用先创建临时表(修改过的结构),如果表大了还会超时,因此建议用脚本。然后去掉&quot。重新启动MSSQL

SERVER

Management

Studio即可,不会出问题,复制表,但你只是改一列的定义,而且还是往松了改。

或者用命令行的吧、改名的过程来的,删原表,比设计器快,选择菜单

工具-〉选项-〉左侧有个

设计器

或者叫

Designer

-〉表设计器和数据库设计器

ALTER TABLE tableCdrop CONSTRAINT TypeName上的约束名字goALTER TABLE tableCALTER COLUMN TypeName TypeName7goALTER TABLE tableCALTER COLUMN TypeName7 VARCHAR(10)

以上就是关于SQL中如何改变一列的数据类型全部的内容,包括:SQL中如何改变一列的数据类型、mysql数据库中sql修改字段类型要怎么做、SQL2008如何修改表中的数据类型!!!比如表名是ABC 列名是123 数据类型是INT如何改为BIGINT等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10200129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存