MySQL 按名称计算用户

假设我们想知道有多少用户具有相同的名称。让我们创建表 users 如下:

create table users(
    id int primary key auto_increment,
    name varchar(8),
    count int,
    unique key name(name)
);

现在,我们刚刚发现了一个名为 Joe 的新用户,并希望将他考虑在内。为了实现这一点,我们需要确定是否存在具有其名称的现有行,如果是,则将其更新为递增计数; 另一方面,如果没有现有的行,我们应该创建它。

MySQL 使用的语法如下: 插入…对重复键更新… 。在这种情况下:

insert into users(name, count)
       values ('Joe', 1)
       on duplicate key update count=count+1;