有一張表格可供多個用戶共享。基本的表結構將爲:如何跟蹤輔助索引編號
unique_id | user_id | users_index_id | data_1 | data_2 etc etc
使用id字段爲int類型,unique_id爲具有自動增量的主鍵。
的數據將是這樣的:
unique_id | user_id | users_index_id
1 | 234 | 1
2 | 234 | 2
3 | 234 | 3
4 | 234 | 4
5 | 732 | 1
6 | 732 | 2
7 | 234 | 5
8 | 732 | 3
如何跟蹤「users_index_id」,使其「自動增量」專門爲USER_ID?
任何幫助將不勝感激。正如我已經搜索了一個答案,但不知道我使用正確的術語來找到我需要的。
「MySQL不會讓你和借鑑e執行「INSERT」或「UPDATE」語句時的目標表,除非它包含在子查詢中「。這個陳述簡直是錯誤的。 MySQL完全支持'insert。 。 。選擇'語法,這是ANSI標準,並支持所有數據庫(我知道)。 'select'部分可以用插入引用表。 MySQL還支持使用'join'語法在更新中使用同一個表。 –
@GordonLinoff我可能說錯了我的意圖,也許你可以幫我清理它?請根據提供的sqlfiddle模式測試以下語句:INSERT INTO users(user_id,users_index_id)VALUES(234,IFNULL((SELECT MAX(users_index_id)id FROM users WHERE user_id = 234),0)+ 1);' - you應該會收到錯誤SQL錯誤(1093):您無法在FROM子句中指定目標表'用戶'進行更新。 –
。 。我絕不會親自在'values'語句中使用嵌套的'select',因爲'insert。 。 。選擇「工作得很好。你對可以做什麼和不可以做什麼做了一個全面的陳述。總括陳述並非如此。正如你所指出的那樣,存在產生錯誤的語法結構。 –