Позвольте мне объяснить, возьмите систему инвентаризации.У вас есть предметы, и у вас есть комнаты.Если у меня есть таблица для предметов, это означает, что все данные вставляются в одну и ту же таблицу.Следовательно, первичный ключ (item_id) имеет значение auto_incremented 1. Таким образом, «Джон» регистрируется через две недели, и его первый идентификатор элемента может быть 210. Как я могу дать каждому пользователю свой собственный «id»?Не прибегая к созданию собственной таблицы, которая могла бы запутаться, если бы у меня было 1000 пользователей.
| item_id | item_name | user_id |
| 1 | sofa | 1 |
| 2 | ps3 | 1 |
| 3 | ipad | 1 |
| 4 | laptop | 2 |
Пример URL:
http://domain.com/item/view/1
Джон получит URL http://domain.com/item/view/210
для своегопервый пункт.
Если это кому-то поможет, вот что я в итоге сделал.
Создайте таблицу сопоставления.В моем случае "users_items" с item_id
и user_id
и удалите первичный ключ.
SELECT case when item_id IS NULL then isnull(max(item_id)+1) else max(item_id) +1 end as item_id
FROM users_items WHERE user_id = $user+id;