[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Копирование элементов из базы в базу
psynick
Доброго времени суток!

Суть идеи такова - при нажатии на кнопку копируем все элементы из базы db1 в базу db2, при этом в базе db2 ранняя информация не пропадает, а база db1 очищается.

Мне кажется это не так сложно и можно сделать в 2 запроса, но как именно - не знаю. Спасибо за помощь.



Спустя 7 часов, 37 минут, 20 секунд (23.05.2010 - 09:50) twin написал(а):
Имеется ввиду база или таблица?

Спустя 48 минут, 25 секунд (23.05.2010 - 10:38) psynick написал(а):
таблица

Спустя 7 минут, 19 секунд (23.05.2010 - 10:45) Basili4 написал(а):
В общем виде запросы таковы

INSERT HIGH_PRIORITY INTO database2.table1
SELECT * FROM database1.table1;

DELETE FROM database1.table1;

Первый вставляет все поля из таблы одной базы 1 в таблу другой

Второй удаляет все записи из таблы первой базы

Если существуют уникальные поля тогда запросы надо изменить переписать А как ? Пусть это будет домашним заданием. Иначе станеш Копипастом wink.gif

Спустя 15 минут, 37 секунд (23.05.2010 - 11:01) psynick написал(а):
Думаю, разберусь. Спасибо!

Спустя 48 минут, 40 секунд (23.05.2010 - 11:50) psynick написал(а):
Разобрался, реализовал. Спасибо.

Если кому интересно:

Отзывы добавляются в таблицу unconfirmed, где ожидают подтверждения. Если все ок и мы жмем подтвердить - таблица unconfirmed копируется в таблицу messages и очищается, в ожидании новых отзывов.
Отображение этих отзывов на сайте, соответственно, идет из отмодерированной таблицы messages
Вот такое решение пришло в голову, чтобы решить проблему с непристойными сообщениями на сайте.

<?php
require ("settings.php");
mysql_connect($sqlhost,$sqlusr,$sqlpssw) or die (mysql_error());
mysql_query("USE $sqldb");
?>

<?php

echo "<TABLE BORDER=\"0\" ALIGN=\"left\" WIDTH=\"$tablewidth\">";
echo "<TR><TD><b>Неподтвержденные отзывы:</b></TD></TR>";
$result = mysql_query("SELECT * FROM unconfirmed ORDER BY date DESC") or die(mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$date_array = getdate($row['date']);
echo "
<TR>
<TD><font color=#265580>Разместил:</font>
$row[usr]</TD>
</TR>
<TR>
<TD VALIGN=
\"top\"><font color=#265580>Сообщение:</font> $row[message]</TD>
</TR>
<TR>
<TD><hr color=
\"$textcolor\" size=\"1\"></TD>
</TR>
"
;
}
echo "<FORM METHOD=\"post\" ACTION=\"adminka.php?action=confirm\">";
echo "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"confirm\">";
echo "<TR><TD><input type=\"submit\" value=\"Подтвердить отзывы\" name=\"B1\"></TD></TR>";
echo "</TABLE>";
echo "</FORM>";

if ($_GET[action]=="confirm")
{
mysql_query("INSERT HIGH_PRIORITY INTO messages SELECT * FROM unconfirmed") or die(mysql_error());
mysql_query("DELETE FROM unconfirmed") or die(mysql_error());
echo "<br>Отзывы успешно добавлены. <br><br><a href=\"index.php\"> Посмотреть отзывы</a> | <a href=\"http://*****.ru/index.php\"> На главную</a>";
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.