2015-07-10 69 views
1

所以我有一個表,如下所示:堆棧值,而不是具有多

username - item - amount 
user1 - sword - 1 
user1 - sword - 1 
user1 - sword - 1 
user2 - sword - 1 
user2 - sword - 1 

我如何使它所以,當我將項目添加到用戶之一,他們疊像這個:

username - item - amount 
user1 - sword - 3 
user2 - sword - 2 

的代碼添加項目:

$sql = "insert into items (username, item, amount) values ('".$_SESSION['user_name']."', 'sword', '1')"; 

回答

0

您需要創建用戶名和項目列,並使用唯一索引on duplicate key update所以,如果用戶名和項目相同的對出現總和現有的金額與新的一個

create unique index items_username_item on items(username, item); 

insert into items (username, item, amount) 
values ('".$_SESSION['user_name']."', 'sword', '1') 
on duplicate key update amount = amount + values(amount); 
+1

謝謝!它工作完美:) –