使用MySQL,如果我有一个字段,例如登录名,我将如何在sql命令中将该字段更新为1?
我正在尝试创建一个INSERT查询,该查询创建firstName,lastName和登录名。但是,如果firstName和lastName的组合已经存在,则将登录数增加1。
因此表格可能看起来像这样。
firstName----|----lastName----|----logins
John Jones 1 Steve Smith 3 我需要一个命令,该命令在运行时会插入一个新的人(即Tom Rogers),或者如果使用约翰·琼斯的名字则增加登录名。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
更新条目: 一个简单的增量就可以解决问题。
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来源:stack overflow