Should child comment be treated as separate table?
Your code is:

INSERT INTO comments
SET parent = 0,
    post = 385,
    comment = 'Hello, World' ;


Do you have a row in comments with id = 0? If not, the error is what one would expect. Put parent=NULL, not parent=0, if you want a comment to not have a parent.