Перейти к контенту

Как сделать копию всех таблиц базы данных с новым префиксом?


Рекомендуемые сообщения

Есть допустим 100 таблиц с префиксом ibf_

Мне нужно сделать их копию там же (в MySQL и без экспорта), чтобы был префикс, ibf2_

 

Без экспорта! Чтобы MySQL сам поработал :D

Ссылка на комментарий
Поделиться на других сайтах

CREATE TABLE ibf2_* (если таблица уже есть, то TRUNCATE ibf2_*)

 

INSERT INTO ibf2_* SELECT * FROM ibf_*

Изменено пользователем профф
Ссылка на комментарий
Поделиться на других сайтах

INSERT INTO ibf2_* SELECT * FROM ibf_*

 

Что означает звёздочка между SELECT и FROM?

 

И если можно, то напиши весь запрос на примере таблицы ibf_posts

Изменено пользователем Taylor Reeze
Ссылка на комментарий
Поделиться на других сайтах

Означает что ты должен сам подставить все свои таблицы и получить n запросов.
Ссылка на комментарий
Поделиться на других сайтах

Простейший PHP-скрипт для работы с таблицами:

<?php
$user	 = 'user';
$host	 = 'localhost';
$password = 'password';
$db	   = 'database';
$link	 = mysql_connect( $host, $user, $password ) or
	die( 'Could not connect: ' . mysql_error() );

mysql_select_db( $db ) or
	die( 'Could not select database' );

$query  = 'show tables';
$result = mysql_query( $query ) or
	die( 'Query failed: ' . mysql_error() );

$i	  = 0;
$return = array();

for ( $i = 0; $i < mysql_num_rows( $result ); $i++ ) {
	$return[$i] = mysql_fetch_array( $result );
}

foreach( $return as $key=>$value ) {
	$query  = 'repair table ' . $value[0];  //Your query should be here

	echo( $query . '... ' );

	$result = mysql_query( $query ) or
		die( 'Query failed: ' . mysql_error() );

	echo( '[OK] <br>' );
}


mysql_free_result( $result );
mysql_close();
?>

Ссылка на комментарий
Поделиться на других сайтах

Он получает имена таблиц из заданной БД и выполняет запрос, который мы задаем в этой строчке:

$query = 'repair table ' . $value[0];  //Your query should be here

Просто позволяет автоматизировать процесс.

Ссылка на комментарий
Поделиться на других сайтах

phpmyadmin:

CREATE TABLE `ipb`.`ibf_posts1` (
`pid` int( 10 ) NOT NULL AUTO_INCREMENT ,
`append_edit` tinyint( 1 ) default '0',
`edit_time` int( 10 ) default NULL ,
`author_id` mediumint( 8 ) NOT NULL default '0',
`author_name` varchar( 32 ) default NULL ,
`use_sig` tinyint( 1 ) NOT NULL default '0',
`use_emo` tinyint( 1 ) NOT NULL default '0',
`ip_address` varchar( 16 ) NOT NULL default '',
`post_date` int( 10 ) default NULL ,
`icon_id` smallint( 3 ) default NULL ,
`post` text,
`queued` tinyint( 1 ) NOT NULL default '0',
`topic_id` int( 10 ) NOT NULL default '0',
`post_title` varchar( 255 ) default NULL ,
`new_topic` tinyint( 1 ) default '0',
`edit_name` varchar( 255 ) default NULL ,
`post_key` varchar( 32 ) NOT NULL default '0',
`post_parent` int( 10 ) NOT NULL default '0',
`post_htmlstate` smallint( 1 ) NOT NULL default '0',
PRIMARY KEY ( `pid` ) ,
KEY `topic_id` ( `topic_id` , `queued` , `pid` ) ,
KEY `author_id` ( `author_id` , `topic_id` ) ,
KEY `post_date` ( `post_date` ) ,
FULLTEXT KEY `post` ( `post` ) 
) ENGINE = MYISAM DEFAULT CHARSET = cp1251;

INSERT INTO `ipb`.`ibf_posts1` 
SELECT * 
FROM `ipb`.`ibf_posts`;

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.