我的新 table 去哪儿了

Where did my new table go

我有一个名为 mbt 的数据库。我想将一些数据从临时 table 写入真实的 table。

--I used this query.

SELECT *  INTO new_table  FROM #tmp

当我运行查询时,它返回了正常消息。

15813 row(s) affected

之后我在 mbt 数据库中查看了我的 table,但我看不到 'new_table'

怎么会有这样的事情,table说不定哪里去了。

我可能忘了在查询的开头使用 'use MBT' 语句。有问题吗

我正在使用 MS sql 服务器 2014(SP2)(KB3171021)-12.0.5000.0(X64)

回答

它去了主数据库

select 'master' as DatabaseName, 
       T.name collate database_default as TableName 
from master.sys.tables as T 

我遇到了同样的问题。我所做的是,我重写了使用数据库的语句,然后在得到结果后刷新数据库浏览器。你可以试试。说不定对你有帮助。

始终使用命令 "USE db_name" 以确保您正在查询正确的数据库。

以下命令将显示服务器上所有可用的数据库。 显示数据库;

如果您使用GUI 工具连接数据库服务器,有可能在连接时连接到不同的数据库。如果您执行查询以创建 table 并插入记录。这些记录被插入到与 mbt 不同的数据库中的新 table 中。

它将在您的数据库上创建一个新的 table。但您没有使用,因此它将存储在您服务器上的 master 数据库中。

运行 下面的查询查找具有对象 new_table:

的数据库
sp_MSForEachDB 'Use [?] IF EXISTS (SELECT 1 FROM sys.objects WHERE name= ''new_table'')
SELECT DB_NAME()'