1. 程式人生 > 其它 >TSINGSEE青犀視訊行人分析用Go刪除mysql資料庫怎麼操作?

TSINGSEE青犀視訊行人分析用Go刪除mysql資料庫怎麼操作?

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`")