Why doesn't the field table in the Drupal database use entity_id as a primary key?
The primary key for a field table is compound, consisting of:


entity_type
deleted
entity_id
language
delta


It's probably just the way your GUI is displaying the data that's confusing. This is Navicat's representation, for example:



If not, then something fishy has happened. Since the entity_id is supposed to be part of the compound key, if it isn't, it should be safe to add it to the rest. Take a backup first just in case.