INSERT INTO question_list_item (question_list_id, question_id, `rank`) VALUES (#{questionListId}, #{questionId}, #{rank}) SELECT qli.question_list_id, qli.rank, q.question_id AS "question.question_id", q.title AS "question.title", q.view_count AS "question.view_count", q.exam_point AS "question.exam_point", q.difficulty AS "question.difficulty", q.category_id AS "question.category_id" FROM question_list_item qli LEFT JOIN question q ON qli.question_id = q.question_id WHERE qli.question_list_id = #{questionListId} ORDER BY qli.rank DELETE FROM question_list_item WHERE question_list_id = #{questionListId} AND question_id = #{questionId} DELETE FROM question_list_item WHERE question_list_id = #{questionListId} UPDATE `question_list_item` SET `rank` = #{rank} WHERE `question_list_id` = #{questionListId} AND `question_id` = #{questionId}