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 文件。关于如何让这只小狗在当地生活的任何提示?

谢谢!

4

7 回答 7

11

首先创建一个具有某个名称的数据库。单击该数据库,然后导入您的表。这里的问题是当您导入任何表时,它会查找您正在使用的数据库。所以,要么按照我上面所说的去做,要么在 CREATE TABLE IF NOT EXISTS 上方添加这个 columns_priv

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

而已。

于 2012-12-19T11:03:09.520 回答
8

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

于 2012-12-19T11:01:22.113 回答
5

通常导出的 sql 脚本没有创建数据库语法。所以你应该创建一个数据库并手动使用

或者

在 sql 脚本的第一行中包含以下行。

create database database_name;
use database_name;

注意:如果数据库已经存在,那么您只包括第二条语句。

现在您可以毫无错误地导入。

于 2012-12-19T11:27:01.850 回答
2

创建数据库并在您要导入的 sql 文件中添加此 USE db_name;

于 2015-05-13T14:16:17.430 回答
1

在为表结构和数据导入 SQL 之前,您需要在沙盒机器上创建和/或选择数据库。

在 phpMyAdmin 中,这意味着从侧边栏中选择一个数据库,然后使用它的导入选项卡。如果您要填写的数据库不存在,您必须首先使用创建新数据库表单来创建它。

导入后,您应该确认导出-导入过程没有影响匿名用户记录(uid 0)。

归功于@scronide

于 2014-03-04T03:47:04.550 回答
1

如果使用 phpmyadmin 从 sql 导出数据库,则应使用自定义方法。并选择了

包括数据库创建时间、最后更新时间和最后检查时间的时间戳

这个 sql 将包含

创建数据库 database_name; 使用数据库名称;

于 2014-11-11T08:29:12.087 回答
0

您只需USE db_name;在导出的 Sql 代码文件的开头使用即可解决问题

于 2016-12-13T11:38:54.357 回答