修改表的字段

好帅的一条鱼 2012-10-23 09:34:02
A表是在B表的基础上新增了一些字段,我怎么样通过语句 将B表修改为和A表一模一样的(表里面有数据的),谢谢!
...全文
122 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
好帅的一条鱼 2012-10-24
  • 打赏
  • 举报
回复
还是DBA_Huangzj的答案最适合我,谢谢各位了
xb12369 2012-10-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

SQL code

drop table b
insert into b select * from a
[/Quote]

对不起额,我写错了!

如果表b不存在的话,因为我是drop的,那么就得这样写:


drop table b
select * into b from a




但是如果表b存在的话,trancate的话,就可以写:


trancate table b

insert into b select * from a
xb12369 2012-10-23
  • 打赏
  • 举报
回复

drop table b
insert into b select * from a
xb12369 2012-10-23
  • 打赏
  • 举报
回复

drop table b
insert into b select * from a
以学习为目的 2012-10-23
  • 打赏
  • 举报
回复
select * into B from A where 1=2 -- 复制表结构,然后把数据插进去
發糞塗牆 2012-10-23
  • 打赏
  • 举报
回复
对于那些两表都有,但是类型(主要是长度修改过的),分两种类型:1、长度加长了,这种没啥影响。2、长度缩短了,那这种最后先找出来,然后看看是否有必要截断,如果的确要截断,那用convert或者cast来截断后再插入。如果不能截断。那还是保留旧表的长度胃好。
發糞塗牆 2012-10-23
  • 打赏
  • 举报
回复
我猜测你这个应该是新旧版本的库同步的时候出现的问题吧?我以前也试过。如果旧表的结构完全在新表中,但是新表只是新增了字段。那么直接把B表的数据导到A表即可。
汤姆克鲁斯 2012-10-23
  • 打赏
  • 举报
回复
在b 表上面增加字段,然后导入数据
trancate table b
insert into b select * from a
發糞塗牆 2012-10-23
  • 打赏
  • 举报
回复
如果列不多,那就用
ALTER TABLE 表名 ADD 列名 数据类型
这样的格式,把列一个一个添加进去,如果列很多:
把b的数据插入一个临时表。然后drop 掉B表,用select * into B from A where 1=2 来创建一个和A一模一样的表,再把数据从临时表导回到B表。
six-years 2012-10-23
  • 打赏
  • 举报
回复
先把B表多余的字段删了 然后 insert into b select * from a 不就一模一样了么

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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