Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

Избавление от селекта внутри делете   Найти похожие ветки 

 
VictorT ©   (2004-01-27 19:55) [0]

Нужно сделать запрос такого вида, но к сожалению MySQL не поддерживает select внутри delete, как его можно переформулировать?
delete from table1
where field1 in (select field1 from table2)


 
Nikolay M. ©   (2004-01-27 20:46) [1]

Только двумя запросами :(
Сначала позапросом получаешь список значений через запятую в стринговой переменной, потом удаляешь
DELETE FROM table1 WHERE field1 IN (value1, value2, ... , valueN)


 
VictorT ©   (2004-01-27 21:00) [2]

Блин, вопрос непавильно поставил. Мне нужно:
delete from table1
where field1 not in (select field1 from table2)


А первый случай реализуется так:
delete table1
from table1, table2
where table1.field1 = table2.field1


 
VictorT ©   (2004-01-27 21:02) [3]


> список значений через запятую в стринговой переменной

Это ж какая переменная получится... в таблицах порядка 30 тысяч записей


 
Nikolay M. ©   (2004-01-28 09:18) [4]


> Это ж какая переменная получится... в таблицах порядка 30
> тысяч записей

10 000 в IN пролетает на ура. Если там ID, конечно, а не Name VARCHAR(255) :)


 
Sandman25 ©   (2004-01-28 09:59) [5]

У меня дикая идея.
Делаете новую таблицу table3 (копия table1, включая данные), затем
delete table3
from table3, table2
where table3.field1 = table2.field1;
и
delete table1
from table1, table3
where table1.field1 = table3.field1
Потребуется куча памяти, но не будет ограничения на число записей.


 
Johnmen ©   (2004-01-28 10:38) [6]

Так ответ сам автор вопроса уже дал...VictorT © (27.01.04 21:02) [3]
:)))


 
VictorT ©   (2004-01-28 11:05) [7]


> Так ответ сам автор вопроса уже дал...

Только вот автор вопрос вначале неправильно задал :)


 
Sandman25 ©   (2004-01-28 11:12) [8]

[6] Johnmen © (28.01.04 10:38)

А если записей милльон? :)



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-53387
АМБ
2004-01-27 11:44
2004.02.17
индикатор DBGrid


4-53825
deema
2003-12-14 18:59
2004.02.17
Clipboard format


1-53458
Эдуард
2004-02-08 16:26
2004.02.17
Есть ли возможнось узнать есть ли у класса A public-свойство B?


14-53697
MBo
2004-01-30 08:00
2004.02.17
Inventor of Ctrl-Alt-Delete combo is retiring from IBM


14-53748
BOA_KAA
2004-01-28 11:27
2004.02.17
Proxy для WIndows