<update id="updateFundPushStatusAndBatchNo">
UPDATE T_ATS_PAYMENT_DETAIL a, T_ECS_BILL_PAYMENT b
SET a.PUSH_STATUS = #{pushStatus,jdbcType=VARCHAR},
a.BATCH_NO = #{batchNo,jdbcType=VARCHAR},
a.MODIFY_BY = #{empId,jdbcType=VARCHAR},
<if test="resetFlag">
a.PAY_STATUS = 'PN',
b.PAY_STATUS = 'PN',
a.PAY_DATE = null,
b.PAY_DATE = null,
a.PAY_MSG = null,
a.PUSH_MSG = null,
a.POLL_NUM = 0,
</if>
a.PUSH_DATE = now(),
a.MODIFY_TIME = now()
WHERE
a.PAYMENT_ID=b.ID
AND a.ID IN
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item,jdbcType=VARCHAR}
</foreach>
</update>
在 SQL 的 UPDATE
语句中,SET
子句用于指定要更新的列及其新值。当你更新多个列时,每个列名与对应的值之间需要使用等号 =
连接,并且不同的列更新之间需要用逗号 ,
分隔。
总结一下,逗号 ,
的作用是:
- 分隔
SET
子句中的不同列更新操作。 - 帮助数据库解析器正确识别每个更新操作。
如果省略了逗号 ,
,则会导致 SQL 语句解析失败,并抛出语法错误。