纯新手,sql的sql修改字段表里字段值的问题

sqlserver 下 sql修改字段表的某个字段默认值語法是怎么样的

一)  一.给字段添加默认值

二)查找某字段默认约束名称

说明: syscolumns用户数据库所定义的标字段都出在此.

sysobjects:用户数据库所定义的表,主键,外键,约束等都存放在这张系统表.

三)判断是否存在莫约束

备注约束不能直接sql修改字段,如果需要更改约束值,请先删除后,再创建.

/*sql修改字段已有字段名*/

/*删除字段方法一:*/

/*删除字段:先在MS中右击-设计(G)-点击:字段-删除默认值和绑定值((0))*/

/*删除字段方法二:*/

/*为了数据丢失先检查脚本*/

/*删除字段对应的约束*/

/*将锁升级为表锁,保证表中的数据可用*/

2.或者有什么办法可以sql修改字段一個表的所有字段允许为NULL值前提是不知道这个表中所有字段的字段类型

原因是table1的所有字段不允许为空,如果table1的字段允许空的话,生成的临时表吔允许为空.

(所影响的行数为 3 行)

以下提供一个sql修改字段ntext列的例子:

以上通过新增一列替换旧的列方法实现了将一个不允许为空的ntextsql修改字段為允许为空的ntext列(注意:以上的go不能缺少).

要更改的列不能是: 

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

用在索引中的列除非该列数据类型是 varchar、nvarchar 或 varbinary,数据類型没有更改而且新列大小等于或者大于旧列大小。

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

如果要实际可行的通用脚本, 则必须考虑不少因素

2. 如果列上有依赖的索引/默认值等, 则要删除, 改列后再重建(如果有外键约束则更麻烦)

3. 要准确地写出原来的列类型定义(类型名称/长度/精度/小数位)

第2点最复杂, 第3点还稍好

曾经写了一个较为通用的增加列的长度的, 写了大约 1600 行腳本

所以楼主不要抱怨答案不理想啦


用脚本sql修改字段Table1里面的字段不为null都sql修改字段为null

2.或者有什么办法可以sql修改字段一个表的所有字段允许為NULL值,前提是不知道这个表中所有字段的字段类型

这个可以查询系统表后用游标去sql修改字段所有的表允许为null 

2.或者有什么办法可以sql修改字段一个表的所有字段允许为NULL值,前提是不知道这个表中所有字段的字段类型

写个通用的比较麻烦将字段不允许为null,sql修改字段成运行为Null,必须偠知道字段的类型和长度或者默认长度,

有的是不固定的需要查询字段长度,例如:varchar(),char()等

所以如果数据表不是很多的情况下最好手工弄丅!

跟进哈,如果现有一张表如何把现有的某列sql修改字段为允许 NULL

匿名用户不能发表回复!

本站是提供个人知识管理的网络存储空间所有内容均由用户发布,不代表本站观点如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话: 与我们联系


我要回帖

更多关于 sql修改字段 的文章

 

随机推荐