我有一个包含两列的表:applicationid
和studentid
。我想将applicationid
更新为applicationid
等于旧值而studentid
不等于(studentid
其中applicationid
已经相等的新值到新的价值)。该表看起来像这样,我想将2222222222222 applicationid
更新为1111111111111,但并非总是如此:
--applicationid-- --studentid--
--1111111111111-- --111111111-- // RIGHT HERE!
--1111111111111-- --555555555--
--2222222222222-- --666666666-- // Here I want to simply update application id to 1111111111111
--2222222222222-- --111111111-- // I WANT TO DELETE THIS ROW, BECAUSE THE UPDATE RESULT ALREADY EXISTS! ^^
--2222222222222-- --777777777-- // I also want this row to be updated.
这是我已经获得的查询,但它确实将applicationid
更新为新值,即使结果已经存在:
UPDATE students_applications
SET applicationid = 1111111111111
WHERE applicationid = 2222222222222
有什么想法?
提前致谢。
答案 0 :(得分:0)
这样的东西?
delete from table where studentid = '111111111' and applicationid <> '111111111111111';
update table set applicationid = '11111111111111';