数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。
记录一些遇到的语法,以便随时查阅。

插入或更新 ON DUPLICATE KEY UPDATE

执行插入或更新

语法

<插入语句> ON DUPLICATE KEY UPDATE <更新语句>;

先执行插入语句,如果发生重复错误,执行更新语句

示例

-- 创建一张表,包含 name,age 两个字段,name 是主键
CREATE TABLE PERSON (
    NAME VARCHAR(20) PRIMARY KEY,
    AGE INT
);
-- 插入测试数据
INSERT INTO PERSON VALUES('user1', 1);
INSERT INTO PERSON VALUES('user2', 2);

-- 插入
INSERT INTO PERSON VALUES('user3', 3) ON DUPLICATE KEY UPDATE AGE = 3;
-- 更新
INSERT INTO PERSON VALUES('user1', 1) ON DUPLICATE KEY UPDATE AGE = 11;