代码之家  ›  专栏  ›  技术社区  ›  Ruben

列计数与第1行的值计数不匹配,在使用nodejs-mysql2的mysql查询中删除where

  •  0
  • Ruben  · 技术社区  · 2 年前

    我使用mysql2/promise在我的节点脚本(AWS lambda函数)中执行一些数据库查询。我想在查询中删除多行,但无论我如何绑定值,我似乎总是会收到相同的错误“列计数与第1行的值计数不匹配”。

    我的简化代码如下所示:

    const userIds = [45549, 46207];
    const deleteQuery = "DELETE FROM user WHERE id IN (?)";
    return await pool.query(deleteQuery, [userIds]);
    

    我尝试了不同的方法来绑定该值,即:

    return await pool.query(deleteQuery, [userIds.map(id => [id]]);
    
    return await pool.query(deleteQuery, userIds.map(id => [id]);
    

    但似乎什么都不起作用。我应该如何将数组值绑定到WHERE IN查询?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Quassnoi    2 年前

    列计数与第1行的值计数不匹配

    这是一个 INSERT 错误,在 DELETE ,除非有触发器。

    检查是否有 删除 的触发器 user 表,以及这些触发器是否执行任何格式错误的操作 插入 声明。