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

pqwbnv8z  于 2021-08-13  发布在  Java
关注(0)|答案(18)|浏览(1065)

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

这里需要帮助。

uemypmqf

uemypmqf1#

要小心空白密码

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

会要求密码和投诉 mysqldump: Got error: 1046: "No database selected" when selecting the database 问题是 -p 选项要求之间没有空格 -p 还有密码。

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

解决了问题(不再需要报价)。

gfttwv5a

gfttwv5a2#

jst在mysql中创建一个新的数据库。选择这个新的数据库(如果你现在在上面使用mysql phpmyadmin,它会像server:...*>>数据库)。现在转到导入选项卡,选择file.import!

gudnpqoy

gudnpqoy3#

为了增加安全性,在同一脚本中处理多个数据库时,可以在查询中指定数据库,例如“create table my\u awesome\u db.really\u cool\u table…”。

yb3bgrhw

yb3bgrhw4#

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

voase2hg

voase2hg5#

虽然这是一条很古老的线索,但我发现了一些东西。我创建了一个新数据库,然后添加了一个用户,最后使用phpmyadmin上传.sql文件。完全失败。系统无法识别我的目标数据库。。。
当我在不附加新用户的情况下重新开始,然后执行相同的phpmyadmin导入时,效果很好。

ar5n3qh5

ar5n3qh56#

检查是否已首先创建所需的数据库。
如果尚未创建数据库,则必须启动此查询:

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)
);
ltskdhd1

ltskdhd17#

我迟到了,我想:]soory,
如果你在这里像我一样寻找解决方案时,这个错误发生了 mysqldump 代替mysql,试试我在一个德国网站上偶然发现的这个解决方案,所以我想和像我一样头疼的无家可归的人分享。
所以问题的出现是因为 -databases 数据库名称前的参数
所以你的命令必须是这样的:

mysqldump -pdbpass -udbuser --databases dbname

在我的案例中,问题的另一个原因是我正在开发本地和本地的 root 用户没有密码,所以在这种情况下必须使用 --password= 而不是 -pdbpass 所以我最后的命令是:

mysqldump -udbuser --password= --databases dbname

链接到完整的线程(德语):https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/

vulvrdjw

vulvrdjw8#

首先选择数据库:使用数据库名称
然后创造table:create table tbu name(id int,name varchar(255),salary int,city varchar(255));
这是MySQL5.5版本的语法

kmbjn2e3

kmbjn2e39#

引用ivan n的话:“如果导入一个数据库,你需要先用相同的名称创建一个,然后选择它,然后将现有的数据库导入其中。希望对你有用!”
以下是步骤:创建一个数据库,例如my\u db1、utf8\u general\u ci。然后单击进入此数据库。然后单击“导入”,并选择数据库:my\u db1.sql
就这些了。

vcirk6k6

vcirk6k610#

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

USE database_name;

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

CREATE DATABASE database_name;

然后:

USE database_name;
3htmauhk

3htmauhk11#

假设您正在使用命令行:

1. 查找数据库 show databases;

2. 从列表中选择一个数据库

例如 USE classicmodels; 你应该去参加比赛(显然,您必须使用列表中正确命名的数据库。

为什么会发生这种错误?

mysql要求您选择正在处理的特定数据库。我认为这是他们做出的一个设计决策:它避免了许多潜在的问题:例如,您完全有可能在多个数据库中使用相同的表名,例如 users table。为了避免这些类型的问题,他们可能会想:“让我们让用户选择他们想要的数据库”。

pdtvr36n

pdtvr36n12#

如果要导入数据库,需要先创建一个同名数据库,然后选择它,然后将现有数据库导入其中。
希望对你有用!

bttbmeg0

bttbmeg013#

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

kxkpmulp

kxkpmulp14#

编辑您的 SQL 文件使用记事本或记事本++
添加以下2行: CREATE DATABASE NAME; USE NAME;

dddzy1tm

dddzy1tm15#

如果您是通过phpmyadmin执行此操作:
我假设你已经在livesite上创建了一个新的mysql数据库(livesite是指你所在的公司(在我的例子中是bluehost))。
转到phpmyadmin on live site-登录到您刚刚创建的数据库。
现在很重要!在单击顶部栏上的“导入”选项之前,请在页面左侧选择您的数据库(灰色栏,顶部写有php myadmin,下面写有两个)options:information_schema 以及您刚刚登录的数据库的名称。
单击刚刚创建/登录的数据库后,它将显示该数据库,然后单击导入选项。
这对我来说是个好办法。真的希望能有帮助

相关问题