Mysql
成功執行此查詢後,我如何回到 MySQL 中的上一個階段?
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 6 | Komal | 22 | MP | 4500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
詢問:
更新客戶設置地址 = ‘Pune’ 其中 ID = 6;
成功執行此查詢後,如何返回上一階段?
我已經嘗試回滾,但它不起作用。
我的引擎是
InnoDB
。
如果你的表引擎不是
InnoDB
,或者你沒有使用transactions
過這個操作,那麼它可能是不可能的。為了有可能使用
ROLLBACK
DML 語句(例如INSERT
,UPDATE
或DELETE
查詢),您應該使用事務塊:START TRANSACTION; UPDATE CUSTOMERS SET ADDRESS = 'Pune' WHERE ID = 6; -- and more DML queries COMMIT; -- or ROLLBACK;
由於事務已
COMMIT
編輯,因此無法回滾。唯一的選擇(我看到的)是恢復數據庫備份(如果存在)。UPDv1:
就像一個建議:在對數據庫進行任何關鍵更改(執行事務、執行複雜的腳本,包括
INSERT
s、UPDATE
s 和s 或使用s 或sDELETE
更改資料結構)之前,請備份您的數據庫。ALTER``DROP
您可能會將備份還原為另一個數據庫副本,然後在其上測試腳本。如果沒有任何問題,則為真實數據庫執行腳本。