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

更新查询失败,错误为:1175

劳高爽
2023-03-14

我正在尝试使用以下查询更新表

update at_product A join
(
SELECT atbillfields.billeditemguid,count(*) AS numberOfPeopleBought
    ,sum(atbillfields.billeditemqty) AS soldquantity
FROM jtbillingtest.at_salesbill atsalesbill 
JOIN jtbillingtest.at_billfields atbillfields
    ON atsalesbill.billbatchguid=atbillfields.billbatchguid
WHERE atsalesbill.billcreationdate BETWEEN '2013-09-09' AND date_add('2013-09-09', INTERVAL 1 DAY)
GROUP BY atbillfields.billeditemguid) B ON B.billeditemguid = A.productguid
SET A.productQuantity = A.productQuantity - B.soldquantity

但是,得到以下异常:

当我使用a.productQuantity=1这样的更新给出where子句时,它更新了该特定项。

有人能指出为什么我不能执行查询和如何解决这个问题吗?

共有1个答案

苏鹏鹍
2023-03-14

看看:

http://justalittlebrain.wordpress.com/2010/09/15/you-are-using-safe-update-mode-and-you-truct-to-update-a-table-with-where-that-using-a-key-column/

SET SQL_SAFE_UPDATES=0;

就在你询问之前。

另一个选择是重写您的查询o包括一个键。

 类似资料:
  • 问题内容: 我正在尝试使用以下查询更新表 但是,出现以下异常: 错误代码:1175。您正在使用安全更新模式,并且尝试在不使用使用KEY列的WHERE的情况下更新表。要禁用安全模式,请在“首选项”->“ SQL查询”中切换选项,然后重新连接。 当我给子句提供类似的更新时,它更新了该特定内容。 有人可以指出为什么我无法执行查询以及如何解决该问题吗? 问题答案: 看一下: http://justalit

  • 问题内容: 好的。我在这里建立了一个mysql查询浏览器,例如navicat。使用MySQLdb执行查询。 这是奇怪的部分。当我通过程序运行查询(使用MySQLdb)时,它给我成功,受影响的行= 1,但是当我在phpmyadmin中查看该查询时,该值没有改变。 因此,在执行查询之前,我先将其打印出来,然后将其复制并粘贴到phpmyadmin的查询窗口中,然后单击go即可运行。长话短说,更新查询不起

  • 以下代码在准备时失败: 我发现:警告:mysqli::prepare()[mysqli.prepare]:无法获取mysqli。。。我在上面的代码中做错了什么?我检查了语法文档,但是如果我尝试将查询作为sql进行pas,我会得到一个语法错误。对于mysqli语法错误是否有一个好的调试工具?

  • 当我试图在mLab上查询mongo实例时出错。我从Spring启动应用程序中请求它。到数据库的连接是稳定的。下面是控制台的日志。 监控线程成功连接到服务器,说明服务器描述{地址=ds131531.mlab.com:31531,类型=REPLICA_SET_PRIMARY,状态=CONNECTED,ok=true,version=ServerVersion{versionList=[3,4,15]}

  • 我遇到了这个错误。 com.mysql.jdbc.exceptions.jdbc4。您有一个错误,在您的SQL语法;检查手册,对应于您的MySQL服务器版本的正确的语法使用附近'like='1',不喜欢='0',mealID='17'WHERE mealID='17"在第1行在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)在