php - 如何使用 'DROP TABLE IF EXISTS'导入多数据库MySQLdump?

标签 php mysql phpmyadmin

我想将一堆数据库从服务器1复制到服务器2,并且我想删除服务器2上与导入的数据库冲突的任何数据库,然后导入数据库。

我用它来导入:

mysql -u root -p[password] < a_bunch_of_dbs.sql

我使用 phpMyAdmin 执行了多次导出,但它们完全无法使用。

问题是 phpMyAdmin 将放置:

  DROP DATABASE `database1`;

(它会导致错误 #1008 - 无法删除数据库“database1”;数据库不存在)

或者:

  CREATE DATABASE `database1`;

(它会导致错误#1007 - 无法创建数据库“database1”;数据库存在)

但不是:

  DROP DATABASE IF EXISTS `database`;
  CREATE DATABASE IF NOT EXISTS `database1`;

(显然“如果不存在”是多余的,但我喜欢它以保证)

因此,为了解决这个问题,我要么需要一些命令行选项或者我需要找出 phpmyadmin 创建查询字符串的位置并向 DROP TABLE 选项添加“IF EXISTS”,这将解决一切。

有什么想法吗? 谢谢。

最佳答案

利用 MySQL Backup and Restore toolsdbForge Studio for MySQL 。打开选项“在 DROP 语句中包含 IF EXISTS”,您将得到如下脚本:

--
-- Definition for database database1
--
DROP DATABASE IF EXISTS database1;
CREATE DATABASE database1
  CHARACTER SET latin1
  COLLATE latin1_swedish_ci;

-- 
-- Set default database
--

USE database1;

--
-- Definition for table dept
--
CREATE TABLE dept (
  id INT(11) NOT NULL AUTO_INCREMENT,
  dept_name VARCHAR(255) DEFAULT NULL,
  PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 2
AVG_ROW_LENGTH = 16384
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

支持命令行。

关于php - 如何使用 'DROP TABLE IF EXISTS'导入多数据库MySQLdump?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7722045/

相关文章:

php - 火狐浏览器 : Open XLSX file not saving file butn opening binary

MySQL:存储过程错误

php - 即使我自己创建了用户帐户 PHPMyAdmin,用户的访问仍被拒绝

php - Laravel 表单复选框数据

php - include() 资源(css,js)好还是让浏览器再做一个请求好?

mysql - 将参数发送到 ROR 中的存储过程的安全方法

mysql - 如何使用 phpmyadmin 添加删除级联和更新限制?

MySql 用户基于 DATE 的预约次数

php - 如何将登录脚本中的安全性从 MD5 更新为更安全的内容?

javascript - 我们可以在组合图表中创建曲线吗?