在 MySQL 数据库中,无法使用 'RETURNING' 子句来在 'UPDATE' 语句之后返回更新的数据行,这是其他一些数据库中常见的功能。但我们可以通过以下两种方法来实现类似的功能:

  1. 使用 'SELECT' 语句在 'UPDATE' 之后检索更新的数据行: 首先执行 'UPDATE' 语句来更新数据行,然后使用 'SELECT' 语句来检索更新的数据行。可以使用 'WHERE' 子句来限制返回的数据行。 示例:

    UPDATE tableName SET column1 = value1, column2 = value2 WHERE condition;
    SELECT * FROM tableName WHERE condition;
    
  2. 使用 'LAST_INSERT_ID()' 函数来获取更新的数据行的 ID: 在执行 'UPDATE' 语句之前,可以使用 'LAST_INSERT_ID()' 函数获取当前的自增 ID 值。然后,在 'UPDATE' 语句中使用该自增 ID 值来更新数据行,并使用 'SELECT' 语句来检索更新的数据行。 示例:

    SET @id := (SELECT id FROM tableName WHERE condition);
    UPDATE tableName SET column1 = value1, column2 = value2 WHERE id = @id;
    SELECT * FROM tableName WHERE id = @id;
    

需要注意的是,以上两种方法都需要在 'UPDATE' 语句之后执行额外的查询语句来获取更新的数据行,可能会有性能上的开销。如果需要在 'UPDATE' 语句之后立即获取更新的数据行,考虑使用其他支持 'RETURNING' 子句的数据库。

MySQL 数据库更新数据后如何获取更新的行?

原文地址: https://www.cveoy.top/t/topic/lSoY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录