首页 > 解决方案 > 在重复的情况下更新。在第一次的情况下插入

问题描述

我有一个这样的 MySQL 表。

表/动物

Id-Publish-Update-Name
1--17:00---01:00--Dog
2--18:00---01:00--Cat
3--19:00---03:00--Penguin

添加“企鹅”。我做的。

INSERT INTO Animals (Name) VALUES ('Penguin')

接下来我要做的是“添加企鹅”。但是,如果“企鹅”已经存在,则只更新“更新”,不要添加新列。

标签: mysqlsql

解决方案


MySQL 支持on duplicate key update

insert into animals (publish, update, name)
    values (?, ?, ?)
    on duplicate key update publish = values(publish), update = values(update);

为此,您需要一个唯一索引或约束name

create unique index unq_animals_name on animals(name);

推荐阅读