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;