当前位置: 首页 > 知识库问答 >
问题:

在表中使用if条件更新Mysql

澹台文博
2023-03-14

我无法使用UDPATE AND IF条件更新表中的2个字段。需要帮助。

我有一个发票表格,如果字段号=0,我需要从同一表格中的容量和字段号=1更新字段数量。

我的sql语句不起作用:

UPDATE INVDTLS_draft1 SET `Nos`=1, `Qty`=`Capacity` IF (Nos=0) WHERE id=id

错误消息:

#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在第1行的“IF(Nos=0)WHERE id=id”附近使用的正确语法

共有3个答案

公孙锋
2023-03-14

试试这个:

UPDATE INVDTLS_draft1 SET 
Nos=1,
Qty = if(nos=0, capacity, Qty)
WHERE id=?

如果nos!=0,这对qty“什么也不做”。

骆文彬
2023-03-14

为什么id=id?我想你需要这个:

UPDATE INVDTLS_draft1
SET    `Nos`=1, `Qty`=`Capacity`
WHERE  Nos=0
甄文彬
2023-03-14

使用运算符尝试此查询

UPDATE INVDTLS_draft1 SET `Nos`=1, `Qty`=`Capacity` WHERE id=id AND Nos=0
 类似资料:
  • 问题内容: 看来我在 条件查询 方面遇到了很大的问题。 我必须做一个 有条件的更新 。我在这里写下我想做的事: 显然,这是行不通的。 任何的想法? 问题答案: 支持声明。 或者你也可以使用

  • 问题内容: 整个晚上 其实是晚上。大约晚上11点。我的大脑正在关闭,需要一些帮助,所以我可以完成工作并回家:) 我有两个表-表a和表b。当其他两个字段匹配时,我需要使用表b中的值更新表a中的字段。这些表的每个记录没有唯一的ID :( 基本上,我想这样做: 或者至少…我认为那是我想要做的… 有人可以帮我吗? 问题答案: 您可以通过更新中的联接来执行此操作:

  • 问题内容: 我有这个文件: 如果我运行以下更新: 我得到了不好的结果: 这是错误的,因为 “ something”:“ test” 应该在第二个元素中,映射等于2。 如果我将字段 “名称” 更改为 “ a” 并运行相同的更新,则得到正确的结果: 现在您可以看到 “ something”:“ test” 在正确的位置(第二个事件)。这是因为我在Mongo中使用了 “名称” 而 “名称” 是某种保留关

  • 问题内容: 我正在尝试更新表中的值,但是我需要添加一些条件。我找到了CASE函数,但是如果是最好的方法,我就不知道了。这是一个例子: 我的表是例如“关系” 我举个例子: 输出: 我想在3和4之间的关系中更改用户3的名称,但我不知道它是userid1还是userid2。 我虽然如此 但这是行不通的!有任何想法吗?首先十分感谢。 问题答案: 不幸的是,最终要获得的结果还不是很清楚,但是这就是您可以如何

  • 问题内容: 使用in 时可以执行更新吗?例如: 问题答案: 有一个非常强大的功能,称为: [15.4。DML风格的操作](http://docs.jboss.org/hibernate/orm/4.3/manual/en- US/html/ch15.html#batch-direct) 来自doc的小引用: …但是,Hibernate提供了通过Hibernate查询语言执行批量SQL样式DML语句

  • 问题内容: 我在Postgres 11.3数据库中有一个带有列的表。 尝试更新嵌套数组名称中的所有对象。 如果路径是对象,则应将路径从对象更新为具有以下值的字符串: 如果不存在该路径,则该对象应保持不变。 使用查询测试设置:小提琴链接 所需结果: 我已经修改了查询并链接到小提琴中。有人可以看看是否正确吗? 问题答案: 平原应该有所作为。 db <>在这里 拨弄 (Postgres 11!) 为了同