我有一个包含两列的表: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
有什么想法吗?
提前致谢。
最佳答案
像这样吗
delete from table where studentid = '111111111' and applicationid <> '111111111111111';
update table set applicationid = '11111111111111';
关于mysql - MySQL UPDATE和DELETE难题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26562637/