powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Update записей, которые по ID не входят в список других записей
16 сообщений из 16, страница 1 из 1
Update записей, которые по ID не входят в список других записей
    #38375351
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, ребята.

Мне нужно удалить или отредактировать записи в таблице, которые не имеют записей child или другими словами удалить все записи, которых нету в списке записей с post_parent.

http://piccy.info/view3/5025380/e185aba3603912782d0590d051612af5/][IMG] http://i.piccy.info/i7/bc9242d67e83b9eedb71edb4f8d7e441/4-76-70/10615745/Capture_240.jpg [/IMG] http://i.piccy.info/a3c/2013-08-22-21-05/i7-5025380/240x119-r][IMG] http://i.piccy.info/a3/2013-08-22-21-05/i7-5025380/240x119-r/i.gif [/IMG]

Я пробовал следующий запрос :

Код: sql
1.
DELETE * FROM shop_posts WHERE post_type = 'product' AND ID NOT IN (  SELECT ID FROM shop_posts WHERE post_parent > 0 AND post_type = 'attachment' AND ID IS NOT NULL )
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375352
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sabbaka,

http://piccy.info/view3/5025380/e185aba3603912782d0590d051612af5/

неправильно вставилась картинка.
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375356
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sabbaka,

и в чем проблема?
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375415
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sabbakaнужно удалить ... записи в таблице, которые не имеют записей child
После чего появятся другие записи, не имеющие детей - их тоже удалить? и ещё раз удалить? и так, пока в таблице не станет пусто-чисто? сделай сразу truncate - это самый быстрый вариант.
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375418
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

но удалять мне нужно не child-ов а записи, которые нету d post_parent. Не совсем вас понял.
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375419
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Но да, мой запрос удалил все записи. Вообще это посты wordpress и мне нужно удалить посты без картинок. Картинки это тоже посты post_type = attachment, и post_parent = ID поста.
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375426
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://piccy.info/view3/5025755/f1e1e738b0efc7d712d287c5c98e8efc/

т.е. на этой картинке пост имеет child, но другие посты не имеют - вот их нужно либо удалить либо поставить post_status = draft .
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375617
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sabbakaAkina,

но удалять мне нужно не child-ов а записи, которые нету d post_parent. Не совсем вас понял.Какая нахрен разница? всё равно удалите всё дерево, только не от листьев, а от корня... останутся только кольца.
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375629
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

т.е. нужно выбрать те, которые имеют child и перенести это все в отдельную таблицу?
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38375633
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sabbakaлибо поставить post_status = draft .Вот это разговор...

Код: sql
1.
2.
3.
4.
5.
6.
7.
update shop_posts t1
set t1.post_status = 'draft'
where t1.id not in 
(
  select t2.post_parent 
  from shop_posts t2
);
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38376243
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Спасибо, сегодня попробую - отпишу!
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38376252
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinasabbakaлибо поставить post_status = draft .Вот это разговор...

Код: sql
1.
2.
3.
4.
5.
6.
7.
update shop_posts t1
set t1.post_status = 'draft'
where t1.id not in 
(
  select t2.post_parent 
  from shop_posts t2
);

есть вероятность, что если хоть в одной записи есть t2.post_parent = NULL, то не будет изменено ни одной записи в shop_posts
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38376676
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
[SQL] update shop_posts t1
set t1.post_status = 'draft'
where t1.id not in 
(
  select t2.post_parent 
  from shop_posts t2
);
[Err] 1093 - You can't specify target table 't1' for update in FROM clause
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38376726
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оформите подзапрос во вьюв, например...
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38376732
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может такой винтокрылый многочлен взлетит ?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
update shop_posts t1
left join
( 
  select t2.post_parent 
  from shop_posts t2
) z on  t1.id = z.post_parent
-- 
set t1.post_status = 'draft'
--
where z.post_parent is null
...
Рейтинг: 0 / 0
Update записей, которые по ID не входят в список других записей
    #38384580
sabbaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc,

запрос сработал, спасибо большое.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Update записей, которые по ID не входят в список других записей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]