重复密钥更新MySQL未更新

时间:2015-04-27 16:57:42

标签: mysql csv on-duplicate-key

我在一个表中有两个唯一键。我正在从csv文件中插入数据。 唯一键是:enrollmentNosubjectCode

我的查询是:

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

数据更新时出现问题。最后更新的“标记”保持不变。将csv文件中的第一个数据向下复制到具有唯一enrollmentNo的所有其他列以及任何subjectCodes。 这是因为它只在寻找唯一的密钥“enrollmentNo”。 我需要做什么才能使更新后的最新标记“标记”没有相同的值?

1 个答案:

答案 0 :(得分:1)

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

从接受的答案:

  

如果UNIQUE字段的一个等于要插入的值,则执行ON DUPLICATE KEY UPDATE中的UPDATE

听起来你期望你的陈述表现得好像你有一个单一的复合唯一键,而不是两个独立的唯一键。