3

要撤消的 SQL 命令是什么:

USE db;

我到处看到的语法是:

USE [db] ;

暗示我可以省略 db 部分。不是这样 - 这是一个语法错误(可能只是 SQL 语法中的语法错误?)。

编辑

这导致的编程问题是我无法重置后续命令运行的环境。我可以重置我的数据库连接,但这似乎很有效。

 cmdX;   // Works

对比

 cmdX;
 cmdY;   // May fail because command X upset some state.

cmdX 应该自行清理并将东西放回它找到它们的地方。

类似地:

cd ./a
   doX()
cd ../
doY()  // Y expects to not be in a?
4

2 回答 2

3

我不认为你可以。文档没有说参数是可选的。它说:

数据库保持默认状态,直到会话结束或发出另一个 USE 语句:

因此,如果您想放弃默认设置,请结束您的会话并开始一个新会话,而无需选择数据库。

这会给您带来什么编程问题?

于 2013-07-19T23:29:39.283 回答
2

数据库参数不是可选的。

mysql> use
ERROR: 
USE must be followed by a database name

我不确定你在哪里看到这个带有方括号的命令。这未在文档页面上显示:http: //dev.mysql.com/doc/refman/5.6/en/use.html

Microsoft SQL Server 在标识符周围使用方括号(与表示可选参数的样式相反),但 MS SQL 文档USE也没有显示它:http: //msdn.microsoft.com/en-us/library/ ms188366.aspx

USE“撤消”命令意味着什么?会不会像cd -在 bash 中一样,将以前的默认数据库再次设为默认数据库?MySQL 中没有这样的命令。它不记得您以前的默认数据库是什么。如果您想返回,您只需访问USE该数据库并明确命名即可。

于 2013-07-19T23:51:55.513 回答