Apache.RU - Webboard
Вернуться
как вставить новую строку методом копирования (Raphael) 16/06 - 17:18:14
Re: само в себя? (Dinky) 16/06 - 22:16:54
Re: да само в себя! (Raphael) 16/06 - 22:19:17
Re: да само в себя! (Dinky) 16/06 - 22:29:28
> Original message text:
> From: Raphael - 16/06 - 17:18:14
> Subject:как вставить новую строку методом копирования
> -----------------
> мне надо вставить новую строчку в таблицу users, скопировав строчку с anonimous-ом и изменив ему login, password, email.
> почему скопировать? потмочто там может быть ещё куча полей, и в процессе разработки проекта их прибовляется и прибовляется, и мне надоело преписывать запрос, ктомуже они могут добавиться и после сдачи проекта.
>
> SQL-запрос :
>
> INSERT INTO users
> SELECT *
> FROM users u0
> WHERE u0.user_id =1
>
> Ответ MySQL:
>
> #1093 - INSERT TABLE 'users' isn't allowed in FROM table list
>
>
>
From:
Dinky - 16/06 - 22:29:28
Subject:да само в себя!
-----------------
>а это точно что нельзя?
дык как бы нет: http://dev.mysql.com/doc/mysql/ru/INSERT.html
"Форма INSERT ... SELECT вставляет строки, выбранные из другой таблицы или таблиц"
и: http://dev.mysql.com/doc/mysql/ru/INSERT_SELECT.html
"Целевая таблица команды INSERT не должна появляться в утверждении FROM части SELECT данного запроса, поскольку в ANSI SQL запрещено производить выборку из той же таблицы, в которую производится вставка. (Проблема заключается в том, что операция SELECT, возможно, найдет записи, которые были внесены ранее в течение того же самого прогона команды. При использовании команд, внутри которых содержатся многоступенчатые выборки, можно легко попасть в очень запутанную ситуацию!) "
--
Dmitry
[Это сообщение - спам!]
Последние сообщения из форума
15465
|
|