mysql values(列名)含义
用法说明:批量插入更新时使用,当然单条插入更新也可使用该语法,例如:insert into tb_test values (1,100),(2,200),(3,300) on duplicate key update 列名 = values(列名);
假设表中原有的数据为:
1,10
2,20
则执行完,更新2行,插入1行结果为:
1,100
2,200
3,300
当单条插入更新时,也可用下面这句
insert into tb_test values (4,400) on duplicate key update id = 4;
示例代码:
<insert id="demo">
INSERT INTO demo_table(id,user_name, expenses,create_time)
VALUES
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id}, #{item.userName}, #{item.expenses},#{item.date})
</foreach>
ON DUPLICATE KEY UPDATE user_name= values(user_name),
expenses= values(expenses),
create_time = values(create_time)
</insert>