当前位置:  开发笔记 > 数据库 > 正文

SQL Server中的'CREATE TABLE ... LIKE ...'相当于什么

如何解决《SQLServer中的'CREATETABLELIKE'相当于什么》经验,为你挑选了2个好方法。

我正在使用SQL Server(我是一个SQL Server noob)并尝试更改表.我想CREATE TABLE LIKE安全地存储数据,同时我删除键和约束以及SQL Server在原始表上更改时似乎需要的所有其他rigamorole但我无法找到该命令的匹配...



1> Fredou..:

你想重建相同的结构?

这个怎么样

 SELECT *
 into test
 FROM myRealTable
 where 0=1

没有数据将插入新表中


SELECT top 0*进入测试FROM myRealTable,也会达到相同的效果

2> JoshBerke..:

你可以做

SELECT*INTO #MyTable_tmp FROM MyTable

然后修改你的MyTable,然后重新复制你的数据.我见过的其他方法是创建一个新表调用Mytable_Tmp(不是临时表),这将是你的新表.

然后将数据复制到您需要的任何迁移中.然后,您将删除原始表并在Mytable上重命名.

或者你可以获得许多优秀的工具之一,比较数据库和生成不同的脚本或VSTS DB版(附带开发人员),你可以做一个从项目文件到数据库的差异脚本.

编辑

当您运行SELECT*INTO #MyTable FROM MyTable时,SQL Server会创建一个名为#MyTable的新临时表,该表匹配select子句中的每个列和数据类型.在这种情况下,我们选择*,因此它将匹配MyTable.这只会创建不复制默认值,约束索引或其他任何内容的列.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有