phpMyAdmin "No database selected" MySQL

11

我下载了一个MySQL备份文件,并立即导入到MAMP的phpMyAdmin中。 我得到了以下结果:

Error
SQL query: 

--
-- Database: `mysql`
--
-- --------------------------------------------------------
--
-- Table structure for table `columns_priv`
--
CREATE TABLE IF NOT EXISTS  `columns_priv` (

 `Host` CHAR( 60 ) COLLATE utf8_bin NOT NULL DEFAULT  '', 
 `Db` CHAR( 64 ) COLLATE utf8_bin NOT NULL DEFAULT  '',
 `User` CHAR( 16 ) COLLATE utf8_bin NOT NULL DEFAULT  '',
 `Table_name` CHAR( 64 ) COLLATE utf8_bin NOT NULL DEFAULT  '',
 `Column_name` CHAR( 64 ) COLLATE utf8_bin NOT NULL DEFAULT  '',
 `Timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
 `Column_priv` SET(  'Select',  'Insert',  'Update',  'References' ) CHARACTER SET utf8          NOT NULL DEFAULT  '',
PRIMARY KEY (  `Host` ,  `Db` ,  `User` ,  `Table_name` ,  `Column_name` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_bin COMMENT =  'Column      privileges';

MySQL said: 

#1046 - No database selected 

我没有改动过.sql文件。有什么提示可以帮助我在本地运行这个程序吗?

谢谢!

7个回答

11

首先创建一个带有名称的数据库。点击该数据库,然后导入您的表格。问题在于当您导入任何表格时,它会查找您正在使用的数据库。因此,请按照我上面所说的方法或者在CREATE TABLE IF NOT EXISTS columns_priv之前添加以下内容。

USE your_db_name;//here your_db_name is the database you just created. 

就是这样。


8

在phpMyAdmin中创建一个新的数据库或选择一个已存在的数据库。然后导入SQL文件。


6
通常,导出的SQL脚本不包含创建数据库语法。因此,您应该手动创建数据库并使用它,或者将以下行包含在SQL脚本的第一行中。
create database database_name;
use database_name;

注意:如果数据库已经存在,则只需包含第二个语句。
现在您可以无错误地导入。

2
在创建数据库时,在您要导入的 SQL 文件中添加以下内容:USE 数据库名称;

1
如果使用phpmyadmin从sql导出数据库,您应该使用自定义方法。并选择包括数据库创建时间戳、最后更新时间戳和最后检查时间戳。
这个sql将包含:
create database database_name; use database_name;

1
在导入表结构和数据的 SQL 之前,您需要在沙盒机器上创建和/或选择数据库。
在 phpMyAdmin 中,这意味着从侧边栏中选择一个数据库,然后使用其导入选项卡。如果要填充的数据库不存在,则必须首先使用“创建新数据库”表单创建它。
导入后,您应该确认导出 - 导入过程没有影响匿名用户记录(uid 0)。
感谢 @scronide。

0

你只需要在导出的 SQL 代码文件开头使用 USE db_name;,问题就会得到解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接