· 8 years ago · Jul 29, 2018, 09:28 PM
1MYSQL How do I update a table only if a unique key pair of two columns does not exist in another table?
2**Subject_Table**
3
4SID Subject Total_Votes
51 Cows 5
62 Chickens 3
7
8
9**Vote_Table**
10
11VID Subject User Voteup
121 Cows John 1
13
14ALTER TABLE Vote_Table ADD UNIQUE limitvote(Subject,User);
15
16$sql="INSERT INTO Vote_Table (Subject, User,Voteup) VALUES ('$Subject', '$User', '$Voteup') ON DUPLICATE KEY UPDATE up=1";
17$q = "UPDATE Subject_Table SET Total_Votes = $votes_up= //current votes plus 1;
18
19UPDATE Subject_Table
20 SET Total_Votes = Total_Votes + 1
21 WHERE Subject = ...
22 AND NOT EXISTS
23 ( SELECT 1
24 FROM Vote_Table
25 WHERE Subject = ...
26 AND User = ...
27 )
28;
29
30CREATE VIEW Subject_View AS
31SELECT Subject,
32 COUNT(1) AS Total_Votes
33 FROM Vote_Table
34 GROUP
35 BY Subject
36;