Я хотел бы иметь нескольких пользователей, которые используют одни и те же таблицы в базе данных, но имеют одно значение auto_increment на пользователя. Я буду использовать встроенную базу данных JavaDB, и, насколько я знаю, она не поддерживает эту функцию. Как я могу это реализовать?
Должен ли я реализовать триггер на вставках, которые просматривают последнюю вставленную пользователем строку, а затем добавляют ее, или есть ли лучшая альтернатива? Или лучше реализовать это в коде приложения?
Или это просто плохая идея? Я думаю, что это легче поддерживать, чем создавать новые таблицы для каждого пользователя.
Пример:
table
+----+-------------+---------+------+
| ID | ID_PER_USER | USER_ID | DATA |
+----+-------------+---------+------+
| 1 | 1 | 2 | 3454 |
| 2 | 2 | 2 | 6567 |
| 3 | 1 | 3 | 6788 |
| 4 | 3 | 2 | 1133 |
| 5 | 4 | 2 | 4534 |
| 6 | 2 | 3 | 4366 |
| 7 | 3 | 3 | 7887 |
+----+-------------+---------+------+
SELECT * FROM table WHERE USER_ID = 3
+----+-------------+---------+------+
| ID | ID_PER_USER | USER_ID | DATA |
+----+-------------+---------+------+
| 3 | 1 | 3 | 6788 |
| 6 | 2 | 3 | 4366 |
| 7 | 3 | 3 | 7887 |
+----+-------------+---------+------+
SELECT * FROM table WHERE USER_ID = 2
+----+-------------+---------+------+
| ID | ID_PER_USER | USER_ID | DATA |
+----+-------------+---------+------+
| 1 | 1 | 2 | 3454 |
| 2 | 2 | 2 | 6567 |
| 4 | 3 | 2 | 1133 |
| 5 | 4 | 2 | 4534 |
+----+-------------+---------+------+