《Disney +》 迪士尼、Marvel、彼思、星球大戰…  除了「死亡循環」以外還釋出了許多豐富情報!「State of Play」發表內容彙整!   《小蒂娜的奇幻樂園》遊戲預告片大解析   熱門優惠活動襲捲PlayStation Store   預習「東京電玩展2021 Online」!特別節目確定播出!   一月份PlayStation Plus遊戲:《女神異聞錄5亂戰:魅影攻手》、《Dirt 5》、《Deep Rock Galactic》   紀念人中之木村突破100萬套!《審判之眼:死神的遺言 Remastered》推出超特惠價!   日本知名足球選手三浦知良與世界足球競賽締結夥伴契約!「KING KAZU」將於世界足球競賽中登場!   MSI × 彩虹社決定進行直播合作活動!人氣直播主使用新的PC製品進行直播! 

MySQL CLI 關閉 auto commit 避免失誤

商業

MySQL 於 CLI 操作時,通常都要特別小心再小心,但是也是很難避免有意外的發生,此時可以使用 Transaction 的特性,再多一層保障。

  • 注意:上述需要支援 Transaction(交易)(例如:InnoDB),MyISAM 是不支援 Transaction 的

MySQL CLI 關閉 autocommit 避免失誤

於 MySQL CLI 操作的時候,可以先將 autocommit 關閉,每次操作並確認後,再手動執行 commit 的動作。

上述於手動執行的步驟

  1. $ mysql -u root -p DBName
  2. mysql> set autocommit=0;
  3. mysql> select ... 抓取資料確認
  4. mysql> update ... sql command... 更新
  5. mysql> select ... 再次確認資料
  6. mysql> commit; # 正確就 commit
  7. mysql> rollback; # 異常就還原 (rollback)

若要讓每次 CLI 進入時,都預設關閉 autocommit 的話,可以做下述設定:

  1. 預設 autocommit 設定為 0
  2. vim ~/.my.cnf # 加入下述兩行即完成
    [client]
    init-command='set autocommit=0'
  3. 驗證是否 autocommit 都設定關閉了
  4. $ mysql -u root -p DBName
  5. mysql> select @@autocommit; # 可以查看目前 autocommit 的狀態
Tsung

隨機商業新聞