如果 id 未知则添加记录否则更新记录
add record if id is not known else update the record
我在 mariadb 中有以下 table:
-id = 自动递增的键
-价格
-数量
-姓名
-order_id
order_id 可以在 table 中出现两次,但名称和 order_id 的组合应该是唯一的。我现在有 name 和 order_id 的组合。
我想做的是,如果名字和order_id的组合不在table中,就添加一条记录。
如果它在,那么我想要 change/get 金额值。
是否有一个很好的查询来完成这个?
此致
我喜欢为此使用 on duplicate key update
。您需要首先在 name
和 order_id
:
上创建唯一索引
create unique index ix_table_orderid_name on table(order_id, name);
然后 insert
看起来像:
insert into table(price, amount, name, order_id)
values (@price, @amount, @name, @order_id)
on duplicate key update amount = values(amount), price = values(price);
这会将 table 中的值替换为新值。您也可以增加它们。你的问题不清楚具体操作。
我在 mariadb 中有以下 table:
-id = 自动递增的键 -价格 -数量 -姓名 -order_id
order_id 可以在 table 中出现两次,但名称和 order_id 的组合应该是唯一的。我现在有 name 和 order_id 的组合。
我想做的是,如果名字和order_id的组合不在table中,就添加一条记录。 如果它在,那么我想要 change/get 金额值。
是否有一个很好的查询来完成这个?
此致
我喜欢为此使用 on duplicate key update
。您需要首先在 name
和 order_id
:
create unique index ix_table_orderid_name on table(order_id, name);
然后 insert
看起来像:
insert into table(price, amount, name, order_id)
values (@price, @amount, @name, @order_id)
on duplicate key update amount = values(amount), price = values(price);
这会将 table 中的值替换为新值。您也可以增加它们。你的问题不清楚具体操作。