sql - 为什么 DROP TABLE 然后重新创建 TABLE?

标签 sql sql-server sql-server-2008 tsql

我正在学习 T-SQL (SQL Server 2008) 的入门类(class)。我在我的课件和其他在线资源中注意到以下模式:

我知道创建一个表(如果它已经存在)会导致错误,并且先删除该表然后重新创建它可以解决这个问题(即在重新运行脚本的情况下)。为什么要删除一个表然后重新创建它 [示例 1],而不是先测试它是否存在,然后如果它存在则跳过创建过程 [示例 2]?

示例 1:

IF OBJECT_ID('myTable') IS NOT NULL
    DROP TABLE myTable
GO
CREATE TABLE myTable (number INT PRIMARY KEY)
GO

示例 2:

IF OBJECT_ID('myTable') IS NULL
    CREATE TABLE myTable (number INT PRIMARY KEY)
GO

最佳答案

一个已经存在的表可能没有你想要的字段。所以,在你的第二个例子中,你认为 table 已经在那里了,它是......但它不是你想要的。

如果您总是删除并重新创建,您就知道该表具有您指定的所有字段。

关于sql - 为什么 DROP TABLE 然后重新创建 TABLE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15693452/

相关文章:

sql - 如何在此 SQL Pivot 查询中插入 TOTAL 列?

sql - Sql Server 中带有 Union 的 Order by 子句

sql - 找出两行中哪一列不同?

sql - 如何在 SQL Server 中有效获取上一行和下一行的值

mysql - SQL 查询从数据表中选择不同的值以及相应的列值

PHP/SQL : "false" value received from database with good query

sql - 如何查看hive变量的计算值

sql-server - SQL Server : If I stop a single long running update before it is finished, 会自动回滚吗?

asp.net - 字母变成 "ë"

sql - 使用计算列作为主键的一部分是个好主意吗?