Oddly specific error: somehow my blog lost the post IDs for all the comments going back to 2002.
The comments were still there. Just not attached to anything.
I was trying to consolidate some posts earlier this week, and ran some optimizations too, so I think one of those broke it.
Fortunately I have a weekly backup of the db. I just restored a copy of the old comments table & updated the live one with the old values. Glad I know SQL. This would have been a major pain for someone who didn’t.