重复密钥更新 MySQL 未更新

Duplicate key update MySQL not updating

我有两个唯一键合而为一 table。我正在插入来自 csv 文件的数据。 唯一键是:enrollmentNosubjectCode

我的查询是:

Insert into result_stud_det(enrollmentNo,departmentCode,subjectCode,semester,marks,enrSubjCode) values (?,?,?,?,?,?) "
                    + "ON DUPLICATE KEY UPDATE previousMarks=marks, marks=?;

数据更新时出现问题。最后的 "marks" 更新保持不变。 csv 文件中的第一个数据被复制到具有唯一 enrollmentNo 的每隔一列和任何 subjectCodes。 这是因为它只是在寻找唯一键 "enrollmentNo"。 我需要做什么才能使最新标记 "marks" 在更新后没有相同的值?

我怀疑你的问题与这个问题有关:MySQL behavior of ON DUPLICATE KEY UPDATE for multiple UNIQUE fields

来自接受的答案:

UPDATE in ON DUPLICATE KEY UPDATE is performed if one of the UNIQUE field equals the value to be inserted

听起来您希望您的语句表现得好像您有一个复合唯一键,而不是两个单独的唯一键。