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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление с помощю LEFT JOIN 
:(
    Опции темы
galkinsasha
Дата 27.6.2010, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток...

Не проходит запрос
Код


DELETE FROM `kategory` LEFT JOIN `subkategory`  ON subkategory.id_kat=kategory.id_kat WHERE kategory.id_kat=45



Пишет ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN `subkategory`  ON subkategory.id_kat=kategory.id_kat WHERE kategory.id' at line 1

но при этом запросна выборку проходит.
Код


SELECT * FROM `kategory` LEFT JOIN `subkategory`  ON subkategory.id_kat=kategory.id_kat WHERE kategory.id_kat=45



HELP ME  smile  smile 
PM MAIL   Вверх
Akina
Дата 27.6.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Правильно. СУБД не понимает, откуда и что надо удалять.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Gluttton
Дата 27.6.2010, 23:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

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



galkinsasha, а так:
Код

DELETE `kategory` FROM `kategory` LEFT JOIN `subkategory` ON `subkategory.id_kat`=`kategory.id_kat` WHERE `kategory.id_kat`=45

будет работать?



--------------------
Слава Україні!
PM MAIL   Вверх
galkinsasha
Дата 28.6.2010, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Gluttton 

И что Ваш запрос сделает? я не понимаю...

Akina Дак вроде правильно запрос составлен: удалить все записи в двух таблицах связаных за ід_кат где ід_кат=45

Как правильно составить запрос?

Если мой запрос не понимает то как же СУБД понимает такой запрос
Код

DELETE FROM `kategory`WHERE `kategory.id_kat`=45


Добавлено через 9 минут и 40 секунд
Всем спасибо за помощь Сделал так, прошел запрос smile  smile 
Код



DELETE FROM `kategory`, `subkategory` USING `kategory` INNER JOIN `subkategory` ON subkategory.id_kat = kategory.id_kat WHERE kategory.id_kat=46 

PM MAIL   Вверх
Akina
Дата 28.6.2010, 21:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(galkinsasha @  28.6.2010,  20:56 Найти цитируемый пост)
Сделал так, прошел запрос 

 smile 
То есть тебе всё равно, что удалять, лишь бы удалилось? логика исходного и конечного запроса неэквивалентны...

Цитата(galkinsasha @  28.6.2010,  20:56 Найти цитируемый пост)
Как правильно составить запрос?

Не использовать JOIN, заменяя его на условия отбора WHERE.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
galkinsasha
Дата 28.6.2010, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Мне нужно удалить все данные из двух таблиц связаные  id_kat где  id_kat=45
PM MAIL   Вверх
Gluttton
Дата 28.6.2010, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

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



Цитата(galkinsasha @  28.6.2010,  23:09 Найти цитируемый пост)
все данные из двух таблиц связаные

А каскадное удаление не проще будет в реализации?


--------------------
Слава Україні!
PM MAIL   Вверх
galkinsasha
Дата 28.6.2010, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не знаю. Я работаю в phpmyadmin чето я не видел там таких настроек. В IB Experte(firebird) видел, а сдесь по суте и связей как таковых нету))

Или мы о разных вещах говорим?
PM MAIL   Вверх
Gluttton
Дата 28.6.2010, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

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



Цитата(galkinsasha @  28.6.2010,  23:45 Найти цитируемый пост)
Или мы о разных вещах говорим? 

Затрудняюсь ответить, не приходилось сталкиваться с phpmyadmin.
Но уверен, что при работе через командную строку будут доступны все параметры smile .


--------------------
Слава Україні!
PM MAIL   Вверх
Akina
Дата 29.6.2010, 08:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(galkinsasha @  29.6.2010,  00:09 Найти цитируемый пост)
нужно удалить все данные из двух таблиц связаные  id_kat где  id_kat=45 

Тогда последний запрос верный. А первый - неверен логически, из-за Left Join.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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