错误
SQL查询:
--
-- Database: `attend`
--
-- --------------------------------------------------------
--
-- Table structure for table `attend`
--
CREATE TABLE IF NOT EXISTS `attend` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`name` varchar(15) NOT NULL DEFAULT 'name',
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`timeing` time NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
MySQL said: Documentation
#1046 - No database selected
我正在转移我的数据库。我一次导出了所有的数据库
所以在导入过程中我无法选择单个数据库
并通过直接导入sql文件我收到上述错误。
在phpmyadmin import database error上找到可能的解决方案
但是不知道如何在.sql文件中为大约30个数据库实现这个解决方案
请帮我,因为我在导出所有数据库后删除了旧数据库,需要导入mASAP。
答案 0 :(得分:6)
问题是SQL需要明确告知您正在使用的数据库,无论是在全局级别还是在每个单独的表创建查询上。我们需要做两件事:
A)如果该数据库不存在,您需要先创建它。没有办法把东西放在不存在的数据库中。
B)确保告诉查询要使用哪个数据库。您链接的解决方案使用此解决方案。如果所有表都转到一个数据库,您只想使用它。该行是:
USE `database_name`;
将database_name
替换为您将要使用的数据库的名称。
但是,如果每个表都属于不同的数据库,则需要更改以下内容:
CREATE TABLE IF NOT EXISTS `attend` (
到
CREATE TABLE IF NOT EXISTS `database_name`.`attend` (
将database_name
替换为该表将成为其一部分的数据库的名称。
答案 1 :(得分:2)
在当前4.1版本的phpMyAdmin中,当您在服务器级别导出时,如果打开自定义导出选项,您将看到选择“添加CREATE DATABASE / USE语句”。您需要选择此选项。
答案 2 :(得分:1)
如askubuntu.com所述,您可以使用:
-export using mysqldump -u username -p –-all-databases > dump.sql
- 进口使用:mysql -u username -p < dump.sql