लेनदेन के बारे में क्या? उनके पास रोलबैक-सुविधा है।
@देखें https://dev.mysql.com/doc/refman /5.0/hi/commit.html
उदाहरण के लिए:
START TRANSACTION;
SELECT * FROM nicetable WHERE somthing=1;
UPDATE nicetable SET nicefield='VALUE' WHERE somthing=1;
SELECT * FROM nicetable WHERE somthing=1; #check
COMMIT;
# or if you want to reset changes
ROLLBACK;
SELECT * FROM nicetable WHERE somthing=1; #should be the old value
नीचे दिए गए @rickozoe के प्रश्न का उत्तर:
सामान्य तौर पर इन पंक्तियों को एक बार की तरह निष्पादित नहीं किया जाएगा। पीएचपी में एफ.ई. आप ऐसा कुछ लिखेंगे (शायद थोड़ा साफ, लेकिन जल्दी जवाब देना चाहते थे;-)):
$MysqlConnection->query('START TRANSACTION;');
$erg = $MysqlConnection->query('UPDATE MyGuests SET lastname='Doe' WHERE id=2;');
if($erg)
$MysqlConnection->query('COMMIT;');
else
$MysqlConnection->query('ROLLBACK;');
दूसरा तरीका यह होगा कि आप MySQL वेरिएबल्स का उपयोग करें (देखें https:/ /dev.mysql.com/doc/refman/5.7/hi/user-variables.htm भूमिhttps://stackoverflow.com/a/18499823/1416909 ):
# do some stuff that should be conditionally rollbacked later on
SET @v1 := UPDATE MyGuests SET lastname='Doe' WHERE id=2;
IF(v1 < 1) THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
लेकिन मैं आपकी पसंदीदा प्रोग्रामिंग भाषा में उपलब्ध भाषा रैपर का उपयोग करने का सुझाव दूंगा।