我的新 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()'
我有一个名为 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()'