Magento 2 error when trying to reindex

OK I think I have the answer here.

The issue is that Magento checks table status and doesn't find the key as an auto_increment value (even though it is.)

If you run this:

show table status;

And scroll down to your offending table, you may find that the AUTO_INCREMENT value is set to null. That's what Magento means by "Table status incorrect".

My fix was to run this (changing table name for each one obviously):

alter table `my_table_cl` auto_increment = 1;

Potentially you may also have a caching issue described in the accepted answer to this stack overflow question. If my line still doesn't fix the problem try changing that cache setting.

Also if something were to go wrong where the version_id really wasn't auto_increment for some reason, you'll get this error. The solution there would be to just alter the column to make it AUTO_INCREMENT.

Later Edit: An alternative to turning off the status caching is to run this command after your index update:

analyze table `my_table_cl` 

Which will force a refresh.