加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 你可以使用MySQL查询来完全创建数据库的副本

发布时间:2020-05-26 01:46:32 所属栏目:PHP 来源:互联网
导读:我有一个带有5个表和TEST版本的 MySQL数据库的LIVE版本. 我一直在使用phpMyAdmin将LIVE版本中的每个表复制到TEST版本. 有没有人有mysql查询语句来制作数据库的完整副本?查询字符串需要考虑结构,数据,自动增量值以及与需要复制的表相关联的任何其他内容. 谢谢

我有一个带有5个表和TEST版本的 MySQL数据库的LIVE版本.

我一直在使用phpMyAdmin将LIVE版本中的每个表复制到TEST版本.

有没有人有mysql查询语句来制作数据库的完整副本?查询字符串需要考虑结构,数据,自动增量值以及与需要复制的表相关联的任何其他内容.

谢谢.

好的,经过大量研究,谷歌搜索和阅读每个人的评论,我制作了以下脚本 – 我现在从浏览器地址栏运行.测试它,它完全符合我的需要.谢谢大家的帮助.
<?php
function duplicateTables($sourceDB=NULL,$targetDB=NULL) {
    $link = mysql_connect('{server}','{username}','{password}') or die(mysql_error()); // connect to database
    $result = mysql_query('SHOW TABLES FROM ' . $sourceDB) or die(mysql_error());
    while($row = mysql_fetch_row($result)) {
        mysql_query('DROP TABLE IF EXISTS `' . $targetDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('CREATE TABLE `' . $targetDB . '`.`' . $row[0] . '` LIKE `' . $sourceDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('INSERT INTO `' . $targetDB . '`.`' . $row[0] . '` SELECT * FROM `' . $sourceDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('OPTIMIZE TABLE `' . $targetDB . '`.`' . $row[0] . '`') or die(mysql_error());
    }
    mysql_free_result($result);
    mysql_close($link);
} // end duplicateTables()
duplicateTables('liveDB','testDB');
?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读