我的行的堆栈值而不是多个
Stack value of my row instead of having multiple
所以我有一个 table 看起来像这样:
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')";
您需要为用户名和项目列创建唯一索引并使用 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);
所以我有一个 table 看起来像这样:
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')";
您需要为用户名和项目列创建唯一索引并使用 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);