Автор Тема: Помогите с запросом на удаление  (Прочитано 6123 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« : 09 Апреля 2005, 15:48:18 »
Привет!
Я что-то не пойму - в мускуле нельзя удалить записи из 2 таблиц чтоли?

Нужно удалить записи из 2 таблиц, где дата в NULL и не позже 2005-03-01.

Делаю так:
DELETE  FROM user_main
,  user_data 
WHERE user_main
.user_visiting IS  NULL 
AND user_main.user_id user_data.user_id 
AND user_main.user_registration <  \'2005-03-01\'


но это не работает :((

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Помогите с запросом на удаление
« Ответ #1 : 09 Апреля 2005, 19:17:26 »
какая версия mysql ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« Ответ #2 : 10 Апреля 2005, 10:12:42 »
Макс
ээ, а как посмотреть? вроде бы 3.23.49

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Помогите с запросом на удаление
« Ответ #3 : 11 Апреля 2005, 09:34:36 »
Цитировать
ээ, а как посмотреть?  

 SELECT VERSION();
And no religion too...

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« Ответ #4 : 11 Апреля 2005, 11:07:08 »
commander
спасибо.

3.23.56-max-debug

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« Ответ #5 : 11 Апреля 2005, 16:09:17 »
и што??

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Помогите с запросом на удаление
« Ответ #6 : 11 Апреля 2005, 16:59:58 »
Алексей
хмм... я чушь написал:
http://www.mysql.ru/docs/man/DELETE.html
And no religion too...

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Помогите с запросом на удаление
« Ответ #7 : 11 Апреля 2005, 17:19:46 »
Цитировать

Цитата из выше изложенной ссылки:
Выражение ORDER BY и использование нескольких таблиц в команде DELETE поддерживается в MySQL 4.0.


commander
похоже все таки не чужь.
[off]Безработный[/off]

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Помогите с запросом на удаление
« Ответ #8 : 11 Апреля 2005, 18:23:58 »
for_i_0
обнову собрать не большая проблемма... :)

Алексей
либо писать функцию, либо переложить на приложение... либо... (самое лучшее) обновить версию...
And no religion too...

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« Ответ #9 : 12 Апреля 2005, 11:10:36 »
ребят, в версии 4.0.15 это всё равно не работает:

Ошибка

SQL-запрос :

DELETE FROM user_main, user_data
WHERE user_main.user_visiting IS NULL AND user_main.user_id = user_data.user_id AND user_main.user_registration < \'2005-03-01\'

Ответ MySQL:

#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 \'WHERE user_main.user_visiting IS  NULL  AND use\'

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Помогите с запросом на удаление
« Ответ #10 : 12 Апреля 2005, 12:21:37 »
Алексей
Цитировать
цитата из мануала.
MySQL 4.1.1 and up can additionally optimize the combination col_name = expr AND col_name IS NULL, a form that is common in resolved subqueries.
[off]Безработный[/off]

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« Ответ #11 : 12 Апреля 2005, 14:54:00 »
и?....

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Помогите с запросом на удаление
« Ответ #12 : 12 Апреля 2005, 17:32:30 »
DELETE user_mainuser_data FROM user_mainuser_data WHERE user_main.user_visiting IS NULL AND user_main.user_registration < \'2005-03-01\' AND user_main.user_id = user_data.user_id;
Должно работать в версии: MySQL v4.0
« Последнее редактирование: 12 Апреля 2005, 17:43:37 от for_i_0 »
[off]Безработный[/off]

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с запросом на удаление
« Ответ #13 : 12 Апреля 2005, 18:58:06 »
for_i_0
спасибо, сработало!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28