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

अद्यतन में विफलता पर MySQL लेनदेन रोलबैक

यहाँ PHP में है (परीक्षण नहीं किया गया है, आपकी स्थिति के अनुकूल होने की आवश्यकता है):

mysql_query('START TRANSACTION;')
mysql_query("UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';");
if (mysql_affected_rows()){
    mysql_query('COMMIT');
} else {
    mysql_query('ROLLBACK');
}

या, यदि आप चतुर होना चाहते हैं और इसे SQL में करना चाहते हैं (ROW_COUNT() और IF ):

START TRANSACTION;
UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';
SELECT ROW_COUNT() INTO @affected_rows;
-- .. other queries ...
IF (affected_rows > 0) THEN
    COMMIT;
ELSE
    ROLLBACK;
END IF


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL के साथ एक खाली फ़ील्ड की जाँच कर रहा है

  2. समर्थन सर्वर पक्ष पीडीओ के साथ बयान तैयार?

  3. कैसे पता करें कि MySQL में UNION का उपयोग करते समय किस तालिका से परिणाम आया है

  4. MySQL में पूर्णांक के लिए खाली स्ट्रिंग की अनुमति कैसे दें?

  5. MySQL के साथ मौजूदा डेटाबेस को अटैच करना