相关疑难解决方法(0)

MySQL中的多个更新

我知道你可以一次插入多行,有没有办法在MySQL中一次更新多行(如在一个查询中)?

编辑:例如我有以下内容

Name   id  Col1  Col2
Row1   1    6     1
Row2   2    2     3
Row3   3    9     5
Row4   4    16    8
Run Code Online (Sandbox Code Playgroud)

我想将以下所有更新组合到一个查询中

UPDATE table SET Col1 = 1 WHERE id = 1;
UPDATE table SET Col1 = 2 WHERE id = 2;
UPDATE table SET Col2 = 3 WHERE id = 3;
UPDATE table SET Col1 = 10 WHERE id = 4;
UPDATE table SET Col2 = 12 WHERE id = 4;
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

363
推荐指数
8
解决办法
36万
查看次数

Nodejs RangeError超出最大调用堆栈

行数组中有超过2000个对象需要处理但得到错误最大调用堆栈超出.回调函数正在操作数据库.我试着用

的setTimeout

这是有效但执行缓慢.有没有其他方法来解决它.

var updateRowsStatus = function (req, rows, next) {

    if (rows.length == 0) {
        return next();
    }

    var batchRows = rows.splice(0, 20);
    var count = 0;


    batchRows.forEach(function (row) {

       // other function 

        updateSubEntity(req, row, 'rows', function (err, response) {
            if (err)throw err;

            if (++count == batchRows.length) {

               updateRowsStatus(req, rows, next);

            }
        });
    });
};
Run Code Online (Sandbox Code Playgroud)

javascript node.js

5
推荐指数
1
解决办法
178
查看次数

无法在一个语句中执行多个更新查询

我想在一个语句中更新多行.我正在使用CodeIgniter框架.我的代码如下.

$query = "update students set id = 12 where id = 10; update students set id = 13 where id = 11;";
$this->db->query($query);
Run Code Online (Sandbox Code Playgroud)

但它给了我错误,说我在'update students set id = 13 where id = 11;'附近有语法错误.我不知道我做错了什么.

php mysql sql database codeigniter

3
推荐指数
1
解决办法
1269
查看次数

MySQL在一个Query中组合了两个UPDATE查询

我想更新状态,但使用一个查询!

UPDATE myTable SET `status` = 0 WHERE `name` IN ('a', 'b', 'c', 'd')
UPDATE myTable SET `status` = 1 WHERE `name` NOT IN ('a', 'b', 'c', 'd')
Run Code Online (Sandbox Code Playgroud)

php mysql sql-update

3
推荐指数
1
解决办法
720
查看次数

标签 统计

mysql ×3

php ×2

sql ×2

sql-update ×2

codeigniter ×1

database ×1

javascript ×1

node.js ×1