有没有办法在 mysql node.js 中执行类似 insert into...where 的操作

分享于2022年07月17日 mysql node.js 问答
【问题标题】:有没有办法在 mysql node.js 中执行类似 insert into...where 的操作(Is there a way to do something like insert into...where in mysql node.js)
【发布时间】:2022-01-26 02:37:07
【问题描述】:

我正在使用 postman 测试我的 api,这是一个 post 请求。

当我将请求网址放在邮递员中时,它应该说 http://localhost:3000/product/1/food/ 1 在我的代码中是 :id

我想在我的 node.js 中执行这个 sql 语句

INSERT INTO food (userid, rating, fooditem) VALUES (?, ?, ?) WHERE productid=?' 

productid 是我的 :id

让我的表显示 Is there a way to do something like insert into...where in mysql node.js

foodid 和时间戳是自动递增的

但它给了我

ER_PARSE_ERROR

我尝试过使用

UPDATE food
SET userid=? , rating=? , review=?
WHERE productid=?
            

基于我在这里找到的其他帖子,但是当我这样做时,我的表中没有任何内容弹出,尽管它在我的代码中不算作错误

我该怎么办? 谢谢

  • INSERT 用于创建新行,而 WHERE 用于匹配现有行。那么在 INSERT 查询中使用 WHERE 意味着什么?
  • UPDATE WHERE 中不能使用列号,必须使用列名。
  • 您可以使用数字代替名称的唯一位置是 GROUP BY ORDER BY ——它们指的是 SELECT 列表中的序号位置,而不是表格列。跨度>
  • 更新不存在的列是什么意思?如果该列不存在,则必须使用 ALTER TABLE 添加它,然后才能将任何数据放入其中。
  • 请在查询前后用文字和示例表告诉我们您希望得到什么作为最终结果。您的查询没有意义,例如看到您的查询,我们甚至无法猜测您真正想要做什么。

【解决方案1】:

您不使用 WHERE 指定 productid 列,它应该只是您插入的另一列。

INSERT INTO food (userid, rating, fooditem, productid) VALUES (?, ?, ?, ?)