У меня есть структура базы данных, где все таблицы имеют два столбца для первичного ключа.Альтернатива для составного ключа
для примера Таблица Автор имеет два столбца, таких как AutherId, который является номером автоматического увеличения и pc_id, который является уникальным для этого ПК, которые являются составными ключами для таблицы. но когда дело доходит до отношений, я должен определить оба столбца для каждого отношения. и поскольку я планирую использовать Docrtine (PHP ORM), это бит проблематично использовать его так.
, поэтому мне интересно, могу ли я создать уникальный идентификатор (вместе с pc_id) и использовать его в качестве первичного ключа .
php-код похож на time(). rand (1000,9999). $ pc_id
так, чтобы идентификатор генерировался путем конкатенации + случайного числа между 1000 и 9999 и pc_id (pc_id также является числом, начинающимся с 1). но это делает 20-значный номер (когда pc_id 6 цифр), которая нуждается в BIGINT для хранения
есть хороший вариант для этого
С уважением
Я не могу использовать автоматическое создание первичного ключа, потому что эта база данных будет работать на разных ПК (разные pc_id), а затем все данные будут переданы в одну общую базу данных, так что если бы я сохранил только авто сгенерированный ключ, первичный ключ, то он будет дублироваться – Chathura86
DRY - не повторяйте себя. – Skilldrick