我有一张有此数据的表格
mysql> SELECT * FROM prueba;
+----+------+------+------+
| id | U1 | U2 | cant |
+----+------+------+------+
| 2 | U123 | U124 | 2 |
+----+------+------+------+
每当执行该语句时,我都希望将“ cant”增加1。
但是,如果该行不存在,则必须创建该行。
U1和U2列是数据对,这意味着U1,U2对是唯一的,那就是要搜索记录是否存在的条件。
这是我到目前为止所做的。
select U1,U2,cant,
(
case when exists (select U1,U2 from prueba where U1='U123'
and U2='U124')
then 1
else 0
end
) as tmp
from prueba
最佳答案
请参见insert-to-table-or-update-if-exists-mysql中可接受的答案。这个想法是使用MySQL
INSERT INTO ... ON DUPLICATE KEY UPDATE ...
关于mysql - 如果行不存在主键,则使用SQL语句自动增加列中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26870970/