Общие > Базы данных

Вставка данных в MySQL из одной записи в другую

(1/3) > >>

UltraMax:
У меня возникла следующая ситуация
Был готовый скрипт, в котором по определенному действию выаолнялось действие
$query = \\"DELETE FROM pending_tasks WHERE tid = \\\'$tid\\\'\\";
мне надо чтобы помимо удаления из pending_tasks вся эти данные были записаны в другую таблицу
есть ли какая-либо команда - позволяющаяэто сделать?

lodevar:
Минуточку... Делаешь два запроса: один на копирование данных (insert), другой на удаление (delete). Наверное так.

UltraMax:

--- Цитировать ---Минуточку... Делаешь два запроса: один на копирование данных (insert), другой на удаление (delete). Наверное так.
--- Конец цитаты ---

Я плохо разбираюсь в php
Если можно поточнее
В оригинали было так
                        {
                                $query = \\"DELETE FROM pending_tasks WHERE tid = \\\'$tid\\\'\\";
                        }
                        db_query($query);
мне же нужно эти данные (которые удалаяются по tid-у) скопировать в другую таблицу. Но ведь если я делаю INSERT то мне надо знать что я вставляю (как я понимаю). ЧТо ж мне просто написать
$query = \\"INSERT INTO completed_tasks WHERE tid = \\\'$tid\\\'\\";
а что оно вставит-то? мне ж надо какие-то VALUES передать
Или я неправильно понимаю?

lodevar:
Вот тут-то и начинается это ограничение на вложенные запросы...:(

в ANSI SQL делается примерно так insert into tab1 (f1,f2,f3) values (select ff1,ff2,ff3 from tab2)

IMHO А с MySql придется наверное через массив делать. Сначала в массив, потом удаление, потом пробегая по массиву insert... так как ты сказал. Наверное так. Времени нет пробовать.:(

AliMamed:
$query = \\"
INSERT INTO table_new (f1, f2, f3) SELECT (pending_tasks.f1, pending_tasks.f2, pending_tasks.f3) FROM pending_tasks WHERE
pending_tasks.tid = \\\'$tid\\\';
DELETE FROM pending_tasks WHERE tid=\\\'$tid\\\';
\\";



[Изменено 30.8.2001 автор: AliMamed]

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии