sql怎么样删除表中指定字段以外的所有字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql怎么样删除表中指定字段以外的所有字段相关的知识,希望对你有一定的参考价值。
专门写的 请采纳 要注意主键有约束 需要单独处理ALTER TABLE 表名 DROP CONSTRAINT 默认约束名
其他的
USE 数据库名
DECLARE @columnname varchar(250)
DECLARE @sqltext varchar(250)
DECLARE curTbls CURSOR FOR
SELECT syscolumns.name FROM syscolumns,sysobjects WHERE syscolumns.id = sysobjects.id AND sysobjects.name = \'表名\' and syscolumns.name!=\'不想删除的列名\'
OPEN CurTbls
FETCH NEXT FROM curTbls INTO @columnname
WHILE @@FETCH_STATUS=0
BEGIN
SELECT @sqltext = \'alter table drop column COLUMN\' + @columnname
PRINT @sqltext
FETCH NEXT FROM curTbls INTO @columnname
END
CLOSE CurTbls
DEALLOCATE curTbls 参考技术A update gx set body=null
mongodb更新查询删除命令中指定的字段以外的所有数组字段
【中文标题】mongodb更新查询删除命令中指定的字段以外的所有数组字段【英文标题】:Mongodb Update Query Deletes All Array Fields Except Field Specified in Command 【发布时间】:2013-07-16 17:18:33 【问题描述】:我正在使用 Node、MongoDB 和 Mongoose。我检查了 set 和 update 上的 MongoDB 文档。我已经用谷歌搜索了一个多小时,我发现了围绕我的问题跳舞的主题,但没有确定的。 下面的查询更新了正确的字段,但它也完全删除了数组中我没有指定的其他字段。
db.posts.update(
"_id" : $exists : true ,
$set : userCreated : "time" : new ISODate("2013-07-11T03:34:54Z") ,
false,
true
)
这是我要修改的架构部分:
,
userCreated:
id: type: mongoose.Schema.Types.ObjectId, ref: 'User' ,
name: type: String, default: '' ,
time: type: Date, default: Date.now
,
这就是结果:
,
"userCreated":
"time": ISODate("2013-07-11T03:34:54Z")
,
【问题讨论】:
【参考方案1】:您可以使用点表示法更新userCreated
的time
属性并保留其他属性:
db.posts.update(
"_id" : $exists : true ,
$set : "userCreated.time" : new ISODate("2013-07-11T03:34:54Z") ,
false,
true
)
【讨论】:
以上是关于sql怎么样删除表中指定字段以外的所有字段的主要内容,如果未能解决你的问题,请参考以下文章