Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 错误1046未选择数据库,如何解决?_Sql_Mysql_Mysql Error 1046 - Fatal编程技术网

Sql 错误1046未选择数据库,如何解决?

Sql 错误1046未选择数据库,如何解决?,sql,mysql,mysql-error-1046,Sql,Mysql,Mysql Error 1046,错误 SQL查询: -- -- Database: `work` -- -- -------------------------------------------------------- -- -- Table structure for table `administrators` -- CREATE TABLE IF NOT EXISTS `administrators` ( `user_id` varchar( 30 ) NOT NULL , `password` varchar(

错误 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

这里需要一些帮助。

您需要告诉MySQL使用哪个数据库:

USE database_name;
在创建表之前

如果数据库不存在,则需要将其创建为:

CREATE DATABASE database_name;
其次是:

USE database_name;
如果您试图通过命令行执行此操作。。。 如果试图从命令行界面运行CREATE TABLE语句,则需要在执行查询之前指定正在使用的数据库:

USE your_database;
给你

如果您试图通过MySQL Workbench实现这一点。。。 …您需要在:对象浏览器:选项卡上方的下拉菜单中选择适当的数据库/目录。您可以为连接指定默认模式/数据库/目录-单击工作台初始屏幕SQL Development标题下的“管理连接”选项

补遗 这一切都假设有一个数据库要在其中创建表-如果没有,则需要先创建数据库,然后再执行其他操作:

CREATE DATABASE your_database;

如果要导入数据库,需要先创建一个同名数据库,然后选择该数据库,然后将现有数据库导入其中

希望它对你有用

引用伊万n的话: “如果导入数据库,您需要先创建一个同名数据库,然后选择该数据库,然后将现有数据库导入该数据库。 希望它对你有用!”

以下是步骤: 创建一个数据库,例如my_db1、utf8\u general\u ci。 然后单击进入该数据库。 然后单击“导入”,并选择数据库:my_db1.sql


应该就这些了。

虽然这是一条非常古老的线索,但我刚刚发现了一些东西。我创建了一个新数据库,然后添加了一个用户,最后使用phpMyAdmin上传.sql文件。完全失败。系统无法识别我的目标数据库

当我在没有附加新用户的情况下开始fresh,然后执行相同的phpMyAdmin导入时,效果很好

  • 使用NotepadNotepad++编辑您的
    SQL
    文件
  • 添加以下两行:
创建数据库名称;

使用名称

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

mysql-u example\u user-p--database=example<./example.sql

如果您通过phpMyAdmin执行此操作:

  • 我假设您已经在Live Site上创建了一个新的MySQL数据库(Live Site是指托管您的公司(在我的例子中是Bluehost))

  • 转到实时站点上的phpMyAdmin-登录到您刚刚创建的数据库

  • 现在很重要!在单击顶部栏上的“导入”选项之前,请在页面左侧选择您的数据库(灰色栏,顶部写有PHP Myadmin,下面写有两个选项:信息模式和您刚刚登录的数据库名称)

  • 单击刚刚创建/登录的数据库后,它将显示该数据库,然后单击导入选项


这对我来说真的很有帮助。真的希望这对我有帮助。

我想补充一点:如果你在一个实时站点上用mySQL创建了一个数据库,那么进入PHPMyAdmin,数据库就不会显示了-注销cPanel,然后重新登录,打开PHPMyAdmin,它现在应该就在那里。

首先选择数据库:使用db\u name

然后创建表:创建表tb\U名称 ( id int, 名称varchar(255), 工资整数, 城市瓦查尔(255) ))


这适用于mysql 5.5版本语法

jst在mysql中创建一个新数据库。选择该新数据库。(如果您现在在顶部使用mysql phpmyadmin,它将类似于服务器:.*>>数据库)。现在转到导入选项卡选择文件。导入!

我在尝试导入以前创建的数据库时遇到了相同的错误。以下是我为解决此问题所做的操作:

1-创建新数据库

2-通过
Use
命令使用它

3-再试一次


这对我很有用。

为了增加安全性,在同一脚本中使用多个数据库时,可以在查询中指定数据库,例如“创建表my_awesome_DB.really_cool_table…”。

我迟到了,我想:]soory

如果你和我一样,在使用
mysqldump
而不是mysql出现此错误时在这里搜索解决方案,请尝试我在德国网站上偶然发现的此解决方案,因此我想与像我一样头痛的无家可归者分享

因此,出现问题的原因是数据库名称之前缺少
-databases
参数

因此,您的命令必须如下所示:

mysqldump -pdbpass -udbuser --databases dbname
本例中出现问题的另一个原因是,我正在本地开发,
根用户
没有密码,因此在本例中,您必须使用
--password=
而不是
-pdbpass
,因此我的最后一个命令是:

mysqldump -udbuser --password= --databases dbname


链接到完整的线程(德语):

For MySQL Workbench

  • 通过鼠标右键单击从“架构”选项卡中选择“数据库”
  • 将数据库设置为默认架构

  • 注意空白密码

    mysqldump [options] -p '' --databases database_name
    
    当选择数据库时,将要求输入密码并抱怨
    mysqldump:Got error:1046:“未选择数据库”

    问题是
    -p
    选项要求
    -p
    和密码之间没有空格

    mysqldump [options] -p'' --databases database_name
    

    已解决问题(不再需要引号)。

    假设您使用的是命令行:

    1.查找数据库
    显示数据库;

    2.从列表中选择一个数据库 e、 g.
    使用classicmodels;
    你应该去参加比赛!(显然,你必须使用列表中正确命名的数据库

    为什么会发生这种错误? Mysql要求您选择正在处理的特定数据库。我认为这是他们做出的设计决策:它避免了许多潜在问题:例如,您完全有可能在多个数据库中使用相同的表名
    mysqldump [options] -p'' --databases database_name
    
    CREATE DATABASE data_base_name
    
    CREATE TABLE `data_base_name`.`table_name` (
     _id int not null,
     LastName varchar(255) NOT NULL,
     FirstName varchar(255),
     Age int,
     PRIMARY KEY (_id)
    );