【问题标题】:What are the differents between USE | select_db function or TABLENAME.dbo?USE | 有什么区别? select_db 函数还是 TABLENAME.dbo?
【发布时间】:2016-09-30 14:50:06
【问题描述】:

我正在使用 mssql 和 PHP,我想知道使用函数 mssql_change_db 更改数据库或在查询开头添加 USE [DB_NAME] 或添加 DB_NAME.dbo.tablename 之间有什么区别在每个查询中?
例如,我有一个名为“LogsDB”的数据库
那么,使用数据库切换执行查询的更好方法是什么。


像这样? :
mssql_select_db("LogsDB", $this -> sqlHandle);
mssql_query("select top 1 username from changePW");


还是像这样? :
mssql_query("USE [LogsDB] select top 1 username from changePW");


还是像这样? :
mssql_query("select top 1 username from LogsDB.dbo.changePW");
这样一来,数据库就只为这个查询而改变了,很好。
是否有另一种方法可以设置数据库不更改但对其执行查询?
如果有更多切换数据库的方法,并且它们比我这里说的更好,我会很高兴听到它们。
提前致谢 :)

【问题讨论】:

  • 'DB_NAME.dbo.tablename'。当您在查询中查询多个数据库时,您将使用它。“USE DB”可以在查询页面的顶部定义,但正如您所说,它仅适用于该查询
  • 最需要注意的是 mssql_select_db() 已被弃用并从 php7 中删除 - php.net/manual/en/function.mssql-select-db.php
  • 您还可以为使用 SQL Server 的用户指定默认数据库。当您不指定数据库时 - 它使用用户首选项中的默认数据库。
  • 你还有什么要找的吗?
  • 不,谢谢你回答我:)

标签: php sql sql-server database


【解决方案1】:
mssql_query("select top 1 username from LogsDB.dbo.changePW");

我认为上述方法是选择数据库的最佳方式,尤其是在您要查询多个数据库的情况下。它总是一个好习惯

DatabaseName.Schema.TableName

有时您必须跨不同的服务器进行查询。在那些情况下

ServerName.DatabaseName.Schema.TableName

它只是为您提供了更多的灵活性。在我看来,这是最好的方法。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2016-09-01
    • 2017-01-17
    • 2014-06-18
    • 2015-08-03
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 2010-09-07
    相关资源
    最近更新 更多