on duplicate key update 批量语句示列 其中key为自定义某一列
时间: 2023-08-28 19:19:29 浏览: 74
mysql ON DUPLICATE KEY UPDATE语句示例
5星 · 资源好评率100%
假设我们有一张名为 `users` 的表,其中包含 `id` 和 `name` 两列,我们想要根据 `id` 列来批量更新或插入数据。我们可以使用以下 SQL 语句来实现:
```
INSERT INTO users (id, name)
VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Charlie')
ON DUPLICATE KEY UPDATE name = VALUES(name);
```
在上述语句中,我们使用 `INSERT INTO` 语句来插入或更新数据。我们指定了要插入或更新的列名为 `id` 和 `name`,并使用 `VALUES` 子句来指定要插入或更新的值。在 `VALUES` 子句中,我们指定了三个值对,表示我们要插入或更新三行数据。如果某行数据的 `id` 值已经存在,则执行更新操作;否则执行插入操作。在更新操作中,我们使用 `VALUES(name)` 来指定要更新的 `name` 列的值为插入语句中指定的值。
需要注意的是,在使用 `ON DUPLICATE KEY UPDATE` 语句时,我们必须为表设置主键或唯一索引,以便数据库能够判断数据是否已经存在。
阅读全文