Mysql 使用输入的常量值更新列字段累积和

Mysql 使用输入的常量值更新列字段累积和,mysql,sql,database,sql-update,Mysql,Sql,Database,Sql Update,希望在同一列字段中更新累积和。即付款表中的“付款”字段应更新为同一字段中“金额+付款”的增值。但上面的查询每次在新行中创建“payment”值时都会使用“amount”值 我错过了什么?试试这个: UPDATE Payment payment SET payment.amount =(payment.amount + :amount) WHERE payment.id =:personId 你是说它是在插入新行,而不是在更新吗?听起来一点也不对。我猜在你的代码中的某个地方,它也在插入一条记录,

希望在同一列字段中更新累积和。即付款表中的“付款”字段应更新为同一字段中“金额+付款”的增值。但上面的查询每次在新行中创建“payment”值时都会使用“amount”值

我错过了什么?

试试这个:

UPDATE Payment payment SET payment.amount =(payment.amount + :amount) WHERE payment.id =:personId

你是说它是在插入新行,而不是在更新吗?听起来一点也不对。我猜在你的代码中的某个地方,它也在插入一条记录,但是
更新
没有
插入
记录。
payment.id=:personId
看起来有点可疑。它不应该是类似于payment.person\u id=:personId的东西吗?
  UPDATE Payment payment, (select @amount:=:amount) as a 
  SET payment.amount =(@amount:=@amount + payment.amount)
  WHERE payment.id =:personId;