今天碰到的需求:用户重新录音时需要重新修改数据库里的信息。
之前的做法是:先将之前的数据删除,再把新数据保存到表里。
改进方法:运用Mysql中INSERT … ON DUPLICATE KEY UPDATE语句
具体sql:
<insert id="insertWordRecording">
INSERT INTO kid_big_cat_course_word_recording(user_id, word_id, path, time)
VALUES (#{userId}, #{pk}, #{path}, NOW())
ON DUPLICATE KEY UPDATE path=#{path},time=NOW()
</insert>