Mysql 如何通过PhpMyAdmin一次导入多个数据库?
错误 SQL查询:Mysql 如何通过PhpMyAdmin一次导入多个数据库?,mysql,phpmyadmin,xampp,mysql-error-1064,Mysql,Phpmyadmin,Xampp,Mysql Error 1064,错误 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 NUL
--
-- 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文件,我得到了上述错误。
在
但是不知道如何在.sql文件中的大约30个数据库中实现此解决方案
请帮助我,因为我在导出所有数据库后删除了旧数据库,并且需要导入mASAP。问题是,需要在全局级别或每个单独的表创建查询上明确告诉SQL您正在使用的数据库。我们需要做两件事: A) 如果该数据库不存在,则需要先创建它。无法将不存在的内容放入数据库中 B) 确保告诉查询要使用哪个数据库。链接的解决方案使用此解决方案。只有当所有表都要到一个数据库时,才需要使用它。电话是:
USE `database_name`;
将数据库\u name
替换为要使用的数据库的名称
但是,如果每个表属于不同的数据库,则需要更改以下内容:
CREATE TABLE IF NOT EXISTS `attend` (
到
将
database\u name
替换为表将成为其一部分的数据库的名称。在当前4.1版本的phpMyAdmin中,在服务器级别导出时,如果打开自定义导出选项,将看到一个选项“addcreate database/USE statement”。您需要选择此选项。如中所述,您可以使用:
-导出时使用:mysqldump-u username-p–-all databases>dump.sql
导入使用:
mysql-u username-p
我有较旧版本的phpMyAdmin,所以在导出过程中这些选项不存在。最后,我在sql文件中的每个数据库之前应用了USE语句,这项工作非常复杂,但有效
CREATE TABLE IF NOT EXISTS `database_name`.`attend` (