Общие > Базы данных
Вставка данных в MySQL из одной записи в другую
UltraMax:
В мануале написано
\\"Вы также можете использовать SELECT для копирования элементов из одной таблицы в другую. MySQL поддерживает ограниченную форму запросов sub, для выполнения этой возможности.\\" Примера вот только нет. Может кто знает?
Кстати - а как именно селектом выбрать в массив чтобы его потом использовать?
AliMamed:
--- Цитировать ---В мануале написано
\\"Вы также можете использовать SELECT для копирования элементов из одной таблицы в другую. MySQL поддерживает ограниченную форму запросов sub, для выполнения этой возможности.\\" Примера вот только нет. Может кто знает?
Кстати - а как именно селектом выбрать в массив чтобы его потом использовать?
--- Конец цитаты ---
я же написал как сделать. что не работает?
UltraMax:
Получатеся вот что
$query = \\"INSERT INTO completed_tasks (title,info) SELECT (pending_tasks.title, pending_tasks.info) FROM pending_tasks WHERE pending_tasks.tid = \\\'$tid\\\'\\";
не срабатывает - то есть не добавляет запись
а вот
$query = \\"DELETE FROM pending_tasks WHERE tid = \\\'$tid\\\'\\";
работает - то есть удалаяет.....
возможно в первой строчке (insert) не совсем правильно
так как если я делю в клиенте MySQL-ном такую запись
mysql>INSERT INTO completed_tasks (title,info) SELECT (pending_tasks.title, pending_tasks.info) FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\';
То получаю
ERROR 1064: You have an error in your SQL syntax near \\\'$query = INSERT INTO completed_tasks (title,info) SELECT (pending_tasks.title, p\\\' at line 1
[Изменено 30.8.2001 автор: UltraMax]
AliMamed:
а зачем ты \\"$query = \\" в mysql суешь? =)
у меня работает правильно такой запрос
INSERT INTO content_bbs_banlist (ip) SELECT (content_bbs_sections.name) FROM content_bbs_sections WHERE content_bbs_sections.id = \\\'1\\\';
UltraMax:
Такие дела получаются
INSERT INTO completed_tasks (tid) SELECT (pending_tasks.tid) FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\';
работает
а вот
INSERT INTO completed_tasks (tid,uid) SELECT (pending_tasks.tid,pending_tasks.uid) FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\';
ругается
ERROR 1064: You have an error in your SQL syntax near \\\'pending_tasks.uid) FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\'\\\' at line 1
...
Почему так? Из-за того что пытаюсь записать два поля а в WHERE только одно? Или почему*
Навигация
Перейти к полной версии