![]() |
|
Модераторы: skyboy |
![]()
|
|
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 3 Всего: 17 |
1) подскажите как оптимизировать такой запрос в один запрос?
как-то через join делают... тут http://www.sql.ru/forum/actualthread.aspx?tid=678367
2) тут нужно это написать одном запросом или можно много маленьких запросов делать? ======== ======== если нужно удалить несколько записей, то тут будет вот так?
это правильно? НО, вопрос, если в этих 2 таблицах нужно удалить несколько элементов с оператором OR правильно? UPD: этот запрос не работает, вопрос остается, как оптимизировать? подскажите пожалуйста была ошибка:
Это сообщение отредактировал(а) gcc - 18.11.2009, 04:33 |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Это вообще-то форум по MySQL, и писАть тут код на другом языке, да ещё не указывая правильно тип кода - моветон.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
gcc, а теперь на обычном языке: что ты хочешь сделать с таблицами ?
Да, можно удалять сразу из двух таблиц. Синтаксис точно такой же как и для select. Все строки которые вошли в выборку будут удалены
Это сообщение отредактировал(а) sir_nuf_nuf - 17.11.2009, 11:11 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 3 Всего: 17 |
Akina, откорректироваол, я просто забыл удалить
Добавлено через 1 минуту и 35 секунд sir_nuf_nuf, что-то я не понимаю... во вором запросе в первом посте, а в чем ошибка где я пытался оптимизировать?? он не работает мне связывать как бы не надо, мне надо удалить с двух таблиц.... тут нужно это написать одном запросом или можно много маленьких запросов делать? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
gcc, задавая вопрос по MySQL, следует указывать версию. Порой даже соседние билды сильно различаются. Например, в многотабличном операторе DELETE FROM версии 5 нельзя использовать JOIN, ORDER BY или LIMIT...
1) Набор запросов непонятен - почему две пары абсолютно идентичных запросов? 2) Та же история - вторая пара условий абсолютно идентична. По удалению несвязанных записей из нескольких таблиц. Это невозможно в рамках одного оператора. Включите логику. Учтите, что всё начинается с декартова произведения. Если надо удалять одним запросом данные из нескольких несвязанных таблиц - используйте хранимую процедуру или пользовательскую функцию. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 3 Всего: 17 |
хотел спросить с точки зрения теории, я вот хотел оптимизировать свои запросы, многие оптимизировал, а этот не получается т.е. с 2 таблиц нельзя не несвязанных в одном запросе.... тогда сделаю только с одной... Это сообщение отредактировал(а) gcc - 18.11.2009, 09:15 |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Два запроса. Если надо - в рамках транзакции.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
gcc, у вас InnoDB или MyISAM ? Если InnoDB - внешние ключи для этого не подойдут ? так что база сама удаляла из одной из таблиц. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
sir_nuf_nuf, у него, как я понимаю, вообще таблицы не связаны. Какое уж тут каскадное удаление...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |