一尘不染

将数据库字段加1

mysql

使用MySQL,如果我有一个字段,例如登录名,我将如何在sql命令中将该字段更新为1?

我正在尝试创建一个INSERT查询,该查询创建firstName,lastName和登录名。但是,如果firstName和lastName的组合已经存在,则将登录数增加1。

因此表格可能看起来像这样。

firstName----|----lastName----|----logins

John               Jones             1
Steve              Smith             3

我需要一个命令,该命令在运行时会插入一个新的人(即Tom Rogers),或者如果使用约翰·琼斯的名字则增加登录名。


阅读 388

收藏
2020-05-17

共1个答案

一尘不染

更新条目:

一个简单的增量就可以解决问题。

UPDATE mytable 
  SET logins = logins + 1 
  WHERE id = 12

插入新行,或更新(如果已存在):

如果您想更新先前存在的行,或者如果不存在则将其插入,则可以使用REPLACE语法INSERT...ON DUPLICATE KEY UPDATE选项(如Rob Van Dam他的回答中所示)。

插入新条目:

也许您正在寻找类似的东西INSERT...MAX(logins)+1?本质上,您将运行类似于以下内容的查询-根据您的特定需求,可能会更复杂一些:

INSERT into mytable (logins) 
  SELECT max(logins) + 1 
  FROM mytable
2020-05-17