我有一个包含两列的表:applicationidstudentid。我想将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/

10-09 03:38