当前位置: 首页 > 面试题库 >

Node.js mysql查询语法问题UPDATE WHERE

叶经略
2023-03-14
问题内容

我试图更新MYSQL
DB中的某些信息,但是我不确定如何在node.js中使用它。这是我正在使用的mysql驱动程序https://github.com/felixge/node-
mysql

到目前为止我有什么

connection.query('SELECT * FROM users WHERE UserID = ?', [userId], function(err, results) {
if (results[0]) {
if (results[0].Name!=name) {
console.log(results[0].Name);
connection.query('UPDATE users SET ? WHERE UserID = ?', [userId], {Name: name});
}
console.log(results[0].UserID);
}
});

一切正常,除了…

connection.query('UPDATE users SET ? WHERE UserID = ?', [userId], {Name: name});

在PHP中,我会有这个…

mysql_query("UPDATE users SET Name='".$_GET["name"]."' WHERE UserID='".$row['UserID']."'");

我不确定自己在做什么错,但是我很肯定问题在这里

connection.query('UPDATE users SET ? WHERE UserID = ?', [userId], {Name: name});

问题答案:

[ 注(加2016年4月29日): 这个答案已被接受,但事实证明,还有 就是 用合理的方式SET ?。有关详细信息,请参阅同一页面上的Bala Clark的答案。 —ruakh ]

从的代码Connection.prototype.query()Connection.createQuery(),很明显,你只能通过在一个 单一的对象。我看不到特殊SET ?行为的代码在哪里定义-
它显然不在其中SqlString.formatQuery()-但是如果使用它SqlString.objectToValues(),那么我想没有办法将其与另一个代码一起使用?

我认为最好的方法是放弃整洁的SET ?功能,然后编写以下任一功能:

connection.query('UPDATE users SET Name = ? WHERE UserID = ?', [name, userId])



connection.query('UPDATE users SET Name = :Name WHERE UserID = :UserID',
                     {UserID: userId, Name: name})

但是,如果您真的想使用SET ?,我想您可以这样写:

connection.query('UPDATE users SET ? WHERE UserID = :UserID',
                     {UserID: userId, Name: name})

这将同时更新UserIDName; 除非您有触发器,否则 应该没问题
,因为它会更新UserID为它已经拥有的值。但这有点令人不安,我不建议这样做。



 类似资料:
  • 我正在尝试使用spring数据JPA(我的模型类用户)实现一对多关联。java是, 和私人住宅。java是, 我的观点是, 我需要从用户那里获取用户名,从PriVillage获取pname。通过组合我需要显示。现在我在我的存储库中使用下面的查询,即, 如上所述,我需要从一个表中选择用户名,从另一个表中选择pname。我需要如何更改我的查询?

  • 我是新的Neo4j密码查询。因此,基本上我已经编写了一个查询来获取sourceType到目标类型的关系计数,以满足我的一个需求。查询如下所示。 其中第一个%s是sourceType,第二个是我查找引用的目的地。但是我在下面的StackTrace中遇到了一些奇怪的语法问题。 有人能帮我找到上面查询中的语法问题吗。

  • 我有以下数据结构格式: 我已经在里面有以下数据: 我已经阅读了参考资料和文档,在完成以下内容时有点不知所措: > 什么是“哪里”等价物?ie.选择查找具有的的条目 在中没有看到适用的示例https://www.tarantool.io/en/doc/2.2/reference/reference_lua/box_space/#lua-function.space\u object.select 用

  • 代码: 错误: 分析错误:语法错误,第7行的/Applications/XAMPP/xamppfiles/htdocs/ai/application/models/question_model.php中出现意外的T_变量 问题出现在: 我有一些函数,比如isQuestion1、isQuestion2、isQuestion3等等。。。我调用另一个函数getAllQuestions,它将返回数组中所有

  • 我有这个问题。我希望它从内容表中选择4个条目,并按如下方式对条目进行排序: > 选择最近的条目。它表示按日期排序(mysql datetime)DESC,id DESC。 从这4个选定项中,按likes(mysql INT)DESC排序 运行查询时,它返回错误的结果。它选择与此条件匹配的条目,其中主题='id'和活动='1'。它按likes DESC对条目进行排序,但忽略了这个条件,即按日期DES

  • 本文向大家介绍linq 查询语法和方法语法,包括了linq 查询语法和方法语法的使用技巧和注意事项,需要的朋友参考一下 示例 查询语法和方法语法在语义上是相同的,但是许多人发现查询语法更简单易读。假设我们需要从一组数字中检索升序排列的所有偶数项。 C#: VB.NET: 请记住,某些查询必须表示为方法调用。例如,您必须使用方法调用来表达查询,该查询检索与指定条件匹配的元素数量。您还必须对查询使用方