Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление строк в mysql 
:(
    Опции темы
__vadya__
Дата 21.2.2011, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



подскажите.

выполняю запрос

DELETE
FROM  tableA
WHERE
 tableA.id in ( select g.id
from tableB as b, tableC as c, tableA as d
WHERE
 b.id = d.id
AND c.p_id = d.p_id
AND c.p_name = '1'  )

таблица tableA - cвязующая для tableB(id) tableC(p_id)


получаю ошибку:

SQL error 1093 you can't specify target table 'tableA' for update in FROM clause


Как использовать одну и туже таблицу в подзапросе и в выражении FROM  при удалении строк?
есть ли workaround для этого?


PM MAIL   Вверх
skyboy
Дата 21.2.2011, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



1. создать временную таблицу. использовать два запроса.
2. переделать запрос в multi-table delete
PM MAIL   Вверх
__vadya__
Дата 21.2.2011, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



ещё варианты есть?
PM MAIL   Вверх
Deniz
Дата 21.2.2011, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 6
Всего: 44



Цитата(__vadya__ @  21.2.2011,  04:07 Найти цитируемый пост)
ещё варианты есть?
Если в MySQL есть exists(), то переделать
 tableA.id in ( ... ) на where exists( ... ), тогда во from не указывать TableA


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
skyboy
Дата 21.2.2011, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



Цитата(__vadya__ @  21.2.2011,  01:07 Найти цитируемый пост)
ещё варианты есть? 

а зачем? чем тебе multi-table delete не угодил?  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.