Mysql 使用输入的常量值更新列字段累积和
希望在同一列字段中更新累积和。即付款表中的“付款”字段应更新为同一字段中“金额+付款”的增值。但上面的查询每次在新行中创建“payment”值时都会使用“amount”值 我错过了什么?试试这个: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 你是说它是在插入新行,而不是在更新吗?听起来一点也不对。我猜在你的代码中的某个地方,它也在插入一条记录,
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;