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

mysql update where IN语句在节点中不起作用

  •  0
  • imin  · 技术社区  · 5 年前

    这是我的密码

    var myResult = await db.execute("UPDATE behaviorsSent SET isRevoked = 1 WHERE `no` IN (?)", [[pointsNoToRevoke]]);
    

    pointsNoToRevoke 是一个包含 [ '314', '318' ]

    上面的代码执行起来没有任何问题,但实际上它没有完成我需要做的事情。。这就是 isRevoked

    [ ResultSetHeader {                                        
        fieldCount: 0,                                         
        affectedRows: 0,                                       
        insertId: 0,                                           
        info: 'Rows matched: 0  Changed: 0  Warnings: 0',      
        serverStatus: 2,                                       
        warningStatus: 0,                                      
        changedRows: 0 },                                      
      undefined ]
    

    这基本上意味着什么都没有改变。所以我做了

    console.log("UPDATE behaviorsSent SET isRevoked = 1 WHERE `no` IN (" + [[pointsNoToRevoke]] + ")")
    

    UPDATE behaviorsSent_2019 SET isRevoked = 1 WHERE `no` IN (314,318)
    

    直接在MySql里面工作。我错过了什么?

    0 回复  |  直到 5 年前