I actually figure out the id field is the issue. If it is not provided, then it would work correctly. If the id is different, say I have a duplicate entry in the database and I pick the id of the same other identical entry, will return that error.
The issue could be I have exported and imported first all components. Then I tried to export and import all collection types. The id of seo stayed the same, but somehow when I tried to populate it a second time when I imported all the collections, it did throw this error.
@smiley@gvocale Did you find a solution for this issue? I am having this issue as well, and for my use case I would like to keep the id of component when I update, is there any possible way for me to do that?