Logically speaking, I did an insert ignore query (same XF version BTW) to move posts from xf.post and xf.thread in the old database to the new database, which will only move the entries if they don't already exist. Then in xf.thread I did an update query (update xf.thread set node_id=x where node_id=x). They ran successfully, but only some of the posts/threads came over (yes I did rebuild) and threads are associated with the wrong posts etc. This would be a problem if they were two separate databases, but it's just an old backup. Thread IDs and post IDs should be the same.
What am I doing wrong?