我想有多個用戶共享數據庫中的相同表,但每個用戶有一個auto_increment值。我將使用嵌入式數據庫JavaDB,因爲我知道它不支持此功能。我怎樣才能實現它?如何在同一個表上實現每個用戶的Auto_Increment?
我應該在查找用戶上次插入的行的插入上實施觸發器,然後添加一個觸發器,還是有更好的選擇?或者在應用程序代碼中實現這個更好嗎?
或者這只是一個壞主意?我認爲這比爲每個用戶創建新表更容易維護。
例子:
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 |
+----+-------------+---------+------+
爲什麼你想每個用戶單獨的自動增量ID? – 2010-05-12 08:47:11
@Todd:因爲我想爲每個用戶提供一個「序列號」。 – Jonas 2010-05-13 12:57:47
一次會有多少會話? – 2010-05-13 21:16:33