TSINGSEE青犀視訊行人分析用Go刪除mysql資料庫怎麼操作?
阿新 • • 發佈:2021-10-09
TSINGSEE青犀視訊開發的行人檢測分析功能正在景區進行測試,我們開啟行人檢測分析功能使用一段時間後,發現後臺在一直建立資料庫,導致mysql有多個庫,我們需要手動刪除。一般操作都是先連線mysql的資料庫,再刪除資料表。若想要直接刪除mysql的資料表則不需要直接連線對應的資料庫,否則刪除失敗,程式還會報錯。
使用HeidiSQL軟體直接輸入賬號密碼可以進入資料庫。直接點選想要刪除的資料庫,點選滑鼠右鍵找到刪除即可;或者直接執行sql語句也可刪除資料庫:
DROP DATABASE IF EXISTS `demo`
Go使用gorm庫都需要開啟資料庫,如:
var dbhost = "localhost" var dbuser = "root" var dbpass = "root" var dbport = 3306 connArgs := fmt.Sprintf("%s:%s@tcp(%s:%d)/database?charset=utf8", dbuser, dbpass, dbhost, dbport) db, err = gorm.Open("mysql", connArgs)
database欄位是開啟mysql資料庫。想要直接刪除就不能開啟database這個欄位,否則刪除資料庫失敗;直接使用:db.Exec("DROP DATABASE IF EXISTS demo")也會出錯,還是刪除不成功。
Mysql使用此sql語句(DROP DATABASE IF EXISTS demo)沒什麼問題,可以刪除成功。要想連線mysql就不能指定連線的資料庫,所以程式碼需要寫成以下形式:
connArgs := fmt.Sprintf("%s:%s@tcp(%s:%d)/?charset=utf8", dbuser, dbpass, dbhost, dbport)
將database這個值直接刪除,這樣可以連線資料庫,再執行sql語句即可刪除資料庫。
res := db.Exec("DROP DATABASE IF EXISTS `demo`")