是否有任何方法可以在单个查询中选择并更新记录?
我试过这个:

UPDATE arrc_Voucher
  SET ActivatedDT = now()
WHERE (SELECT VoucherNbr, VoucherID
         FROM arrc_Voucher
        WHERE ActivatedDT IS NULL
          AND BalanceInit IS NULL
          AND TypeFlag = 'V'
        LIMIT 1 )

我希望运行select查询并获取与where子句匹配的第一条记录,更新该记录中的ActivatedDT字段,但出现以下错误:
1241-操作数应包含1列
有什么想法吗?

最佳答案

怎么样:

UPDATE arrc_Voucher
  SET ActivatedDT = NOW()
WHERE ActivatedDT IS NULL
  AND BalanceInit IS NULL
  AND TypeFlag = 'V'
LIMIT 1;

10-04 19:11