0
我有以下的架構(MySQL的)如何爲特定項目
create table test(
userid int(11) not null,
item varchar(15),
bookid int(11));
insert into test values ('1','journal',NULL);
insert into test values ('1','journal',NULL);
insert into test values ('1','book',NULL);
insert into test values ('2','book',NULL);
insert into test values ('2','journal',NULL);
insert into test values ('1','book',NULL);
insert into test values ('2','journal',NULL);
insert into test values ('3','book',NULL);
insert into test values ('1','book',NULL);
insert into test values ('1','journal',NULL);
insert into test values ('3','journal',NULL);
insert into test values ('1','journal',NULL);
insert into test values ('2','journal',NULL);
insert into test values ('2','book',NULL);
insert into test values ('2','journal',NULL);
insert into test values ('1','journal',NULL);
insert into test values ('3','book',NULL);
insert into test values ('3','book',NULL);
insert into test values ('3','book',NULL);
insert into test values ('3','book',NULL);
創建一個計數列,只要有一本書,我想在指定的BOOKID列從1開始自動遞增。對於每個用戶,編號從1開始。我知道這可以通過創建一個單獨的表來完成。有沒有一種方法可以避免這種情況,並在此表中使用某種更新查詢並更新列bookid?我試圖得到類似以下的輸出:
userid,item,bookid
'1','journal',NULL
'1','journal',NULL
'1','book',1
'2','book',1
'2','journal',NULL
'1','book',2
'2','journal',NULL
'3','book',1
'1','book',3
'1','journal',NULL
'3','journal',NULL
'1','journal',NULL
'2','journal',NULL
'2','book',2
'2','journal',NULL
'1','journal',NULL
'3','book',2
'3','book',3
'3','book',4
'3','book',5
我很感激,如果有人能指導我如何做到這一點?
這是個好主意,做這15萬條記錄,多列?我可能有鎖表問題。我一直在尋找可能在同一張桌子上更新的解決方案(如果這樣更便宜的話) – rk567 2014-12-04 18:42:26
沒有。有更好的解決方案... – Strawberry 2014-12-04 20:50:57
...請參閱上面的編輯。 – Strawberry 2014-12-04 22:30:30