-- 示例代码:使用 ON DUPLICATE KEY 更新数据
-- 假设有一个名为 users 的表,包含 id (主键), name 和 email 列
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
-- 插入或更新数据,如果 email 存在则更新 name
INSERT INTO users (id, name, email)
VALUES (1, 'Alice', 'alice@example.com')
ON DUPLICATE KEY UPDATE name = VALUES(name);
-- 解释:
-- 1. 如果插入的记录中 email 已经存在,则会触发 ON DUPLICATE KEY 子句。
-- 2. 在这种情况下,name 列将被更新为新插入的值。
-- 3. 如果 email 不存在,则会正常插入新记录。
-- 另一个示例:插入多条记录并处理重复键
INSERT INTO users (id, name, email)
VALUES
(2, 'Bob', 'bob@example.com'),
(3, 'Charlie', 'charlie@example.com')
ON DUPLICATE KEY UPDATE name = VALUES(name);
-- 解释:
-- 1. 这里尝试插入多条记录。
-- 2. 如果任意一条记录的 email 已经存在,则只更新对应的 name,而不会影响其他记录。
上一篇:mysql查看最大连接数
下一篇:mysql使用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站