【问题标题】:MySQL update errors with "Subquery returns more than 1 row" despite lack of subquery尽管缺少子查询,但“子查询返回超过 1 行”的 MySQL 更新错误
【发布时间】:2012-01-03 23:15:17
【问题描述】:

我有一个关于mysql 5.1.56的查询:

select * from team_member_accounts where node = 33136

...只返回一行。但是,Subquery returns more than 1 row 出现以下查询错误:

update team_member_accounts
set fee_remaining = 0,
    loan_account_balance = 35000,
    reimbursable_amount = 0, 
    reimbursed_amount = 0
where node = 33136

嗯……什么?什么子查询?怎么不止一排?

【问题讨论】:

  • 那张桌子上有触发器吗?
  • team_member_accounts 是一个真实的表,还是一个视图(可能是跨多个表的选择的组合)?
  • 触发!完全忘记了。谢谢@MarcB! (这是一张真正的桌子)
  • @MarcB:据我了解的通知,我猜你没有收到...

标签: mysql sql mysql-error-1242


【解决方案1】:

该表可能有一个触发器。

【讨论】:

    【解决方案2】:

    可以试试这个 更新 team_member_accounts 设置 fee_remaining = 0, 贷款账户余额 = 35000, reimbursable_amount = 0, 报销金额 = 0 where node = (SELECT DISTINCT(NODE) FROM team_member_accounts where node = 33136)

    如果它不起作用,我觉得你的桌子很奇怪

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多