Общие > Базы данных
Вставка данных в MySQL из одной записи в другую
AliMamed:
1. попробуй пробелы после запятых
2. попробуй в SELECT указывать только имя поля
UltraMax:
--- Цитировать ---1. попробуй пробелы после запятых
2. попробуй в SELECT указывать только имя поля
--- Конец цитаты ---
Кхм - ни хрена не получается....
Может это можно как-то обойти? Типа сначала сделать SELECT того чего надо в массив
А потом уже INSERT его в бащу?
mysql> 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
mysql> INSERT INTO completed_tasks (tid, uid) SELECT (tid, uid) FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\';
ERROR 1064: You have an error in your SQL syntax near \\\' uid) FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\'\\\' at line 1
mysql> INSERT INTO completed_tasks (tid, uid) SELECT (tid, uid) FROM pending_tasks WHERE tid = \\\'5\\\';
ERROR 1064: You have an error in your SQL syntax near \\\' uid) FROM pending_tasks WHERE tid = \\\'5\\\'\\\' at line 1
mysql>
UltraMax:
ЕПРСТ
Разобрался
В MySQL оказывается НЕ НАДО скобки в SELECT ставить
и если для запроса одного поля еще с кавычками идет то если больше (2,3 и т.п) - не работает
так что правильный код
INSERT INTO completed_tasks (tid,uid) SELECT pending_tasks.tid,pending_tasks.uid FROM pending_tasks WHERE pending_tasks.tid = \\\'5\\\';
и все заработало
UltraMax:
Ладно с этим разобрались
Вот еще какой вопрос
У меня есть два поля дат
Их тип - datetime, формат 0000-00-00 00:00:00
Мне нужно получить разницу между ними, в таком же формате
Но если я делаю
SELECT date_assigned-due_date from pending_tasks WHERE tid = \\\'5\\\';
то получаю значение 358
Я думал сначала что это секунды, но реально между ними разницы - 2001-08-29 15:54:58 и 2001-08-29 15:51:00
то есть 218 секунд
Как бы это все подсчитать?
Навигация
Перейти к полной версии