Как я могу получить все данные из любой таблицы тестовой базы данных и DUMP ее на производственной базе данных с тем же именем таблицы (структура)?

Как я могу получить все данные из любой таблицы тестовой базы данных и DUMP ее на производственной базе данных с тем же именем таблицы (структура)? в Mysql с использованием кода PHP?

Пожалуйста, помогите мне..

РЕДАКТИРОВАТЬ

Мне нужен PHP, чтобы сделать это для меня, используя MySQL Queries

2 ответа

Решение

Извините, немного дезорганизован, но это функции, которые я использую для создания кода SQL для восстановления и повторного заполнения таблицы. Это все внутри объекта "таблица", но я уверен, что вы можете собрать воедино то, что происходит.

SQL "SHOW CREATE TABLE yourtablename" дает вам все необходимое для повторного создания таблицы. Все остальное просто перебирает все записи и делает операторы INSERT.

public function backup() {
    $output = "/* - - - Table recovery for $this->tablename - - - */\n\n\n";
    $output .= "DROP TABLE IF EXISTS `$this->tablename`;\n\n";
    $output .= $this->showcreate().';';
    $output .= $this->showrepopulate();
    return $output."\n\n\n";
}        


final protected function showcreate() {
    $result = $this->query("SHOW CREATE TABLE $this->tablename");
    return $result[0]['Create Table'];
}

final protected function showrepopulate() {
    $result = $this->query("SELECT * FROM $this->tablename");
    $output = '';
    $count = count($result);
    if ($count) {
        $output = "\n\nINSERT INTO `$this->tablename` VALUES\n";
        for ($i=0; $i<$count; $i++) {
            $output .= "(";
            $numfields = count($result[$i]);
            for ($j=0; $j<$numfields; $j++) {
                if ($j>0) $output .= ',';
                $output .= $this->Database->escape(array_shift($result[$i]));
            }
            $output .= ")";
            $output .= ($i != $count-1) ? ",\n" : ';';
        }
    }
    return $output;
}

Если вы имеете в виду создание дампа кода SQL для воссоздания таблицы, я бы предложил использовать существующие инструменты для управления MySQL, такие как phpMyAdmin или Adminer.

Другие вопросы по тегам