Вообще говоря, у вас есть два варианта:
A ' естественный ключ ', который отражает реальность данных, с которыми вы работаете.Например, телефонный номер может быть действительным первичным ключом для списка вызовов, но он совсем не подходит, скажем, для списка получателей медицинских услуг, поскольку многие люди могут использовать один и тот же номер телефона в доме.Обратите внимание, что естественный ключ может состоять из нескольких полей.Например, комбинация Марка, Модель и Год может быть ключом для списка моделей автомобилей.
Суррогатный ключ ', с другой стороны, является просто произвольным значениемчто вы назначаете на строку.Если вы идете по этому пути, я бы рекомендовал использовать GUID (UUID в MySql). Лучший из известных мне способов представить их в MySQL - использовать столбец char (36).Идентификаторы GUID фактически уникальны навсегда и могут использоваться бесконечно.
Если вы настаиваете на использовании простого старого числа, то INT, вероятно, в порядке, или вы можете использовать BIGINT , чтобы быть уверенным.
BIGINT UNSIGNED ZEROFILL