错误 SQL查询:

--
-- Database: `work`
--
-- --------------------------------------------------------
--
-- Table structure for table `administrators`
--
CREATE TABLE IF NOT EXISTS `administrators` (

`user_id` varchar( 30 ) NOT NULL ,
`password` varchar( 30 ) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = latin1;

MySQL说:

#1046 - No database selected

这里需要帮助。


当前回答

举例解决方案

错误1046发生时,我们错过连接我们的表与数据库。在本例中,我们没有任何数据库,这就是为什么首先我们将创建一个新数据库,然后将指示将该数据库用于创建的表。

# At first you have to create Database 
CREATE DATABASE student_sql;

# Next, specify the database to use
USE student_sql;

# Demo: create a table 
CREATE TABLE student_table(
    student_id INT PRIMARY KEY,
    name VARCHAR(20),
    major VARCHAR(20)
);

# Describe the table 
describe student_table;

其他回答

你也可以告诉MySQL使用什么数据库(如果你已经创建了):

 mysql -u example_user -p --database=example < ./example.sql

虽然这是一个相当老的帖子,但我刚刚发现了一些东西。我创建了一个新数据库,然后添加了一个用户,最后使用phpMyAdmin上传.sql文件。总失败。系统无法识别我所瞄准的DB…

当我开始新的没有首先附加一个新用户,然后执行相同的phpMyAdmin导入,它工作正常。

举例解决方案

错误1046发生时,我们错过连接我们的表与数据库。在本例中,我们没有任何数据库,这就是为什么首先我们将创建一个新数据库,然后将指示将该数据库用于创建的表。

# At first you have to create Database 
CREATE DATABASE student_sql;

# Next, specify the database to use
USE student_sql;

# Demo: create a table 
CREATE TABLE student_table(
    student_id INT PRIMARY KEY,
    name VARCHAR(20),
    major VARCHAR(20)
);

# Describe the table 
describe student_table;

当我试图导入以前创建的数据库时,我遇到了同样的错误。以下是我解决这个问题的方法:

创建新的数据库

2—使用Use命令

3-再试一次

这对我很有用。

如果您试图通过命令行完成此操作…

如果你试图从命令行界面运行CREATE TABLE语句,你需要在执行查询之前指定你正在使用的数据库:

USE your_database;

这是文档。

如果你试图通过MySQL Workbench来做这件事…

...你需要在:Object Browser:选项卡上方的下拉菜单中选择适当的数据库/目录。您可以为连接指定默认的模式/数据库/目录—单击Workbench启动屏幕的SQL Development标题下的“Manage Connections”选项。

齿顶高

这一切都假设有一个数据库,你想要在其中创建表-如果不是,你需要在其他任何事情之前创建数据库:

CREATE DATABASE your_database;