问题标签 [mysql-error-1442]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
855 浏览

mysql - (MySQL)无法更新存储函数/触发器中的表“PARTS”,因为它已被调用此存储函数/触发器的语句使用

如果条目在表中,我希望更新金额,否则插入一个新条目。

当我尝试时:

然后我得到了这个错误:

错误 1442 (HY000):无法更新存储函数/触发器中的表 'PARTS',因为它已被调用此存储函数/触发器的语句使用。

我的错是什么?任何想法?

0 投票
2 回答
70 浏览

mysql - 更新/插入触发器和 1442 错误后的 Mysql

我想查看在日志表中输入的新记录和更新,我为此创建了一个触发器,但我收到错误 1442。你能帮帮我吗?

1442 - 无法更新存储函数/触发器中的表“cust_changes”,因为它已被调用此存储函数/触发器的语句使用

0 投票
1 回答
53 浏览

mysql - mysql 在使用 join 查询后触发

我想创建一个触发器,当状态更改为“库存”时设置新的 org_id。
我有 2 个表:具有属性 org_id 的功能性和具有状态的物理设备。调用触发器的更新如下:

当我尝试像这样的触发器时:

我有这个错误:mysql_errno = 1442, mysql_error = Can't update table 'functionalci' in stored function/trigger 因为它已被调用此存储函数/触发器的语句使用

有什么方法可以在不更改调用它的 UPDATE 的情况下执行触发器?

0 投票
2 回答
230 浏览

mysql - MYSQL UPDATE 表上 INSERT 到同一个表

这看起来很简单,但仍然是一个挑战。我尽可能简化了我的问题。

我有这个带有一条记录的 test_table:

插入后,我希望表格如下所示:

从我工作的应用程序中,我无法调用存储过程,因此我使用的代码如下:

我通常收到的错误(也在其他尝试中):

相信我,我在这个论坛上阅读了很多答案,还跑到博客上说这是不可能的。但我(仍然)不接受这一点。所以..任何解决方案...谢谢...

0 投票
2 回答
41 浏览

mysql - 需要更新导致触发的表中的值(错误 1442)

我正在尝试更新导致触发器的表中的值。我知道错误的原因,但我需要解决方法。如果表中的 new.id = id 已经存在,我需要更新产品数量的旧值。我无法在触发器和存储的函数中更新它。我花了几个小时思考解决方案,我该怎么做?

如果产品存在,我需要更新数量的旧值(只需将插入中的新数量添加到旧数量中)并取消插入或如果不存在则插入

第 3 行的错误 1442 (HY000):无法更新存储函数/触发器中的表“产品”,因为它已被调用此存储函数/触发器的语句使用。

0 投票
0 回答
58 浏览

mysql - SQL 触发器问题:无法更新存储函数/触发器中的表,因为它已被调用此存储函数/触发器的语句使用

大家好,我在尝试使用触发器自动更新表时遇到问题。

我正在开发一个房地产管理应用程序,我想为物业经理方面生成一个表格 ( bill),其中包含同一共享建筑物每年和每位房东收到的所有费用和付款。

我用于这部分的主要表格是:

  • building
  • charge(其中包含building_id
  • charge_payment(其中包含building_id和landlord_id as user_id

bill例如,为了生成这个chargebill(我检查了表格charge和表格charge_payment

这是它的样子:

我的问题是,如果我在同一建筑物和同一年添加其他费用,我就会出错。到现在为止,我通过在每次新的充电插入之前删除表中的所有原始数据来解决这个问题billyear但这很脏:)

所以我一直在想,我试图在表上删除这个删除触发器,并在表上charge添加一个触发器,bill以便在插入每一行之前检查它是否应该是插入或只是amount更新:

对我来说看起来不错,但绝对不是 MySql,它给我抛出了这个错误:

如果有人对如何使其工作有任何线索,那就太好了。否则我想我将不得不重新考虑我的应用程序......:/

如果您阅读了所有内容,请提前非常感谢和祝贺:)

0 投票
1 回答
47 浏览

mysql - MySQL在插入后触发错误中删除行

我在 MySQL 数据库中有三个表bidsoffersmatched. 该matched表包含已匹配的出价和出价。有一个事件运行逻辑来进行如下所示的匹配,该事件有效。

当我在表上创建触发器以删除从and表中matched插入的出价和出价时,就会出现问题。我想删除它们,因为一旦它们匹配就不再需要它们。此触发器的逻辑如下所示。bidsoffers

但是,当尝试执行事件以匹配出价和出价时,现在会发生错误

我只是Bids在事件中更新表格,match_insert_trigger但投标表格不用于触发任何事情,所以有点不确定这里有什么问题?

编辑

通过在事件中放置删除匹配的出价/出价的逻辑,我已经实现了我需要的功能bid_offer_matching。但是,如果有人知道,我仍然不明白上述错误是如何发生的。

下面是新的事件代码

0 投票
0 回答
78 浏览

mysql - 错误代码:1442。无法更新存储函数/触发器中的表“ArgentineWine”,因为它已被语句使用

我已经阅读了这个论坛注册中的 4 个案例。

错误代码:1442。无法更新存储函数/触发器中的表“表名”,因为它已被语句使用

这些情况比我的情况要复杂得多。我创建了一个ArgentineWines包含 5 列的表,加载了 10 行,并创建了一个触发器:

当我尝试通过更改表来测试触发器时,就会出现问题。我试图以两种不同的方式更新表格

第一次尝试:

第二次尝试:

无论我尝试什么,我都会收到此错误:

错误代码:1442。无法更新存储函数/触发器中的表“ argentinewines ”,因为它已被调用此存储函数/触发器的语句使用

无论错误不断弹出,我都使用过之前使用过之后。

问题:还有哪个语句在调用我的存储过程?什么已经在使用什么?错误描述不是很清楚。

拜托,这个谜团的任何想法或解决方案都会很棒。DH