Общие > Базы данных
помогите составить запрос
Tankist:
--- Цитировать ---MySQL 4.0.X
--- Конец цитаты ---
Пока не на одном хостинге не видел, чтобы стояла 4..Или tarya, можешь занятся pgSQL, она такие вещи поддерживает...
fidget:
Tankist
я думаю появится, как только они ее до беты доведут.
кстати вот сдесь есть пример как это в 3.23 обойти:
http://www.mysql.com/doc/en/ANSI_diff_Sub-selects.html
AlieN:
--- Цитировать ---кстати вот сдесь есть пример как это в 3.23 обойти:
--- Конец цитаты ---
только про удаление я так ничего и непонял
Alexandr:
--- Цитировать ---только про удаление я так ничего и непонял
--- Конец цитаты ---
Я тож полностью не понял, но мне кажется Mysql генерит таблицу (выборку) со множеством строк DELETE, чтобы ты иж потом, напр. , скопировал их или сделал ещё запросы на основании этой выборки.
fidget:
Alexandr
почти угадал :)
только их копировать никуда не надо :)
SELECT CONCAT(\'DELETE FROM tab1 WHERE pkid = \', "\'", tab1.pkid, "\'", \';\')
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2;
Если это положить в скрипт и запустить вот так
shell> mysql --skip-column-names mydb < myscript.sql
то это даст тебе множество строк DELETE, где в where для pkid будут подставлены нужные значения.
А если как написано в мануале
shell> mysql --skip-column-names mydb < myscript.sql | mysql mydb
то вывод первой части будет перенаправлен на клиентскую программу (mysql) и все эти DELETE будут выполнены :)
ну.. объяснение немного корявое, но я думаю смысл понятен :)
Навигация
Перейти к полной версии