2015-07-10 88 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

谢谢!它工作完美:) –