Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कुल वोट संख्या में 1 संख्या बढ़ाने/घटाने के लिए अपडेट ट्रिगर कैसे बनाएं

हां, आपको एक after insert trigger बनाने की जरूरत है उसके लिए

delimiter //
create trigger total_votes_count after insert on votes
for each row
begin
 if (new.value == 1) then
   update posts set total_votes = total_votes+1 
   where id = new.id_post;
 elseif (new.value == -1) then
   update posts set total_votes = total_votes-1 
   where id = new.id_post;
 end if;
end;//

delimiter //

अद्यतन को संभालने के लिए सभी समान रहते हैं, केवल आपको किसी अन्य ट्रिगर की आवश्यकता होती है जैसे

delimiter //
    create trigger total_votes_count_upd after update on votes
    for each row
    begin
     if (new.value == 1) then
       update posts set total_votes = total_votes+1 
       where id = new.id_post;
     elseif (new.value == -1) then
       update posts set total_votes = total_votes-1 
       where id = new.id_post;
     end if;
    end;//

    delimiter //

चूंकि आपके पास 2 पोस्ट टेबल हैं, इसलिए यदि स्थिति में आपको इसका उपयोग करना होगा

delimiter //
create trigger total_votes_count after insert on votes
for each row
begin
 if (new.value == 1) then
   if (new.table_name == 'post_A') then 
     update posts_A set total_votes = total_votes+1 
     where id = new.id_post;
   else
     update posts_B set total_votes = total_votes+1 
     where id = new.id_post;
   end if;
 elseif (new.value == -1) then
   if (new.table_name == 'post_A') then
      update posts_A set total_votes = total_votes-1 
      where id = new.id_post;
   else
      update posts_B set total_votes = total_votes-1 
      where id = new.id_post;
   end if ; 
 end if;
end;//

delimiter //

अपडेट ट्रिगर के लिए भी ऐसा ही करें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तैयार विवरण में मापदंडों के लिए कोई डेटा प्रदान नहीं किया गया

  2. मैसकल टेबल कॉलम खाली नहीं हो सकता

  3. ड्रॉप डेटाबेस रिटर्न डेटाबेस को छोड़ने में त्रुटि त्रुटि:66 MySQL में

  4. mysql तालिका में टेक्स्ट कैसे खोजें और बदलें?

  5. MySQL Connector/C++ OS X 10.9 Mavericks और XCODE 5.0.2