-- 更新表中符合条件的记录,并返回受影响的行数
-- 示例:假设有一个名为 'users' 的表,包含以下字段:
-- id (INT), name (VARCHAR), age (INT)
-- 1. 使用 SELECT 和 UPDATE 结合的方式(MySQL 8.0+ 支持)
WITH updated_rows AS (
UPDATE users
SET age = age + 1
WHERE id = 1
RETURNING *
)
SELECT * FROM updated_rows;
-- 解释:这段代码首先使用 UPDATE 语句更新 'users' 表中 id 为 1 的记录,将年龄加 1。
-- 然后通过 RETURNING 子句返回更新后的行。最后,外部的 SELECT 语句用于显示这些更新后的行。
-- 2. 如果需要在更新之前查询数据,可以先执行 SELECT 再执行 UPDATE
-- 先查询
SELECT * FROM users WHERE id = 1;
-- 再更新
UPDATE users
SET age = age + 1
WHERE id = 1;
-- 解释:这种方式是先执行 SELECT 查询出符合条件的数据,然后根据查询结果决定是否执行 UPDATE 操作。
-- 这种方式适用于需要在更新前查看或处理数据的情况。
上一篇:linux如何安装mysql
下一篇:mysql 新建表
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站