Dekker Дык можно всё проапдейтить. Тоже мне нашли проблему.     Так.. вот так MySQL не позволяет сделать для MyISAM таблиц:    update ibf_posts set new_topic=1 where pid in (
 select pp.first_post from ibf_posts p, (
 select topic_id, min(pid) as first_post from ibf_posts group by topic_id) pp 
 where p.pid = pp.first_post and p.new_topic=0
)   Млин.. а так к ораклу привык  Так...   Ну тогда излюбленный приём для MySQL:    select concat('update ibf_posts set new_topic=1 where pid=', pp.first_post ,'; -- topic_id=',pp.topic_id) as queries_to_run_in_phpMyAdmin from ibf_posts p, (
 select topic_id, min(pid) as first_post from ibf_posts group by topic_id) pp 
 where p.pid = pp.first_post and p.new_topic=0
 LIMIT 2000   Ну и на всякий случай можно отсекать те темы, в которых new_topic стоит но не соответствует минимальному pid'у (чтобы не получилось два поста с new_topic=1):  select concat('update ibf_posts set new_topic=1 where pid=', pp.first_post ,'; -- topic_id=',pp.topic_id) as queries_to_run_in_phpMyAdmin from ibf_posts p, (
 select topic_id, min(pid) as first_post from ibf_posts group by topic_id) pp
 where p.pid = pp.first_post and p.new_topic=0 and pp.topic_id not in ( select topic_id
                                      from ibf_posts where topic_id=pp.topic_id and new_topic=1)
 LIMIT 2000       Я вот  у себя таких много нашёл  заодно и себе исправил всё