2017-04-22 61 views
0

我想在MySQL服务器MySQL的“没有数据库选择”,全名

DELETE FROM MY_DB.MY_TABLE; 

执行查询,但我得到一个错误的inspite“没有数据库选择”。为什么我应该在给出完整名称时明确选择数据库,包括数据库?

+1

你可以开玩笑地选择它'USE MY_DB; DELETE FROM MY_TABLE;' –

+0

该查询适用于我。您需要添加有关您的环境的信息。 –

回答

3

假设你正试图从命令行执行查询,你可以尝试:

use MY_DB; 

它将使用MY_DB作为默认的数据库。 Here's使用命令的文档。它表示以下内容:

USE db_name语句告诉MySQL使用db_name数据库作为默认(当前)数据库作为后续语句的数据库 。数据库 保持默认状态,直到会话结束或另一个USE 声明发布。

更新

如果use命令失败,那么则可能是用户不访问MY_DB,在这种情况下,您可以授予使用MySQL的GRANT语法(文档here)的访问。如果您在查询本身中指定数据库,则不需要明确指定use

+0

这是怎么回答:“为什么我应该明确选择一个数据库?”? –

+0

@PaulSpiegel更新了答案。 –

+0

这似乎是一个特权问题。一旦我重新开始我的会话它的工作! – Kannan