所以我試圖使用 mysql 驅動程序將數據插入數據庫。具體來說,我正在使用這個:"github.com/go-sql-driver/mysql"這是我的代碼func main() { db, err := sql.Open("mysql", "psanker:123@/education_data") err = db.Ping() if err != nil { fmt.Println("Failed to prepare connection to database") log.Fatal("Error:", err.Error()) } defer db.Close() content, err := ioutil.ReadFile("activities.csv") lines := strings.Split(string(content), "\r") //only work so long as I have one district rows, err := db.Query("SELECT id FROM districts") var districtId int defer rows.Close() for rows.Next() { err := rows.Scan(&districtId) check(err) } for i, line := range lines { if i > 1 { splitStr := strings.Split(line, ",") var activityCode string if strings.Contains(splitStr[0], "-") { //this is an activity activityCode = splitStr[0] stmt1, _ := db.Prepare("INSERT INTO activities(code) VALUES(?)") stmt2, _ := db.Prepare("INSERT INTO activities(name) VALUES(?)") res, _ := stmt1.Exec(splitStr[0]) stmt2.Exec(splitStr[1]) } else { //this is a sub activity stmt1, _ := db.Prepare("INSERT INTO sub_activities(code) VALUES(?)") stmt2, _ := db.Prepare("INSERT INTO sub_activities(name) VALUES(?)") stmt1.Exec(splitStr[0]) stmt2.Exec(splitStr[1]) if activityCode != "" { rows, _ := db.Query("SELECT id from activities where code = ?", activityCode) var activityId int for rows.Next() } } } }}當我檢查 Mysql 數據庫時,表中沒有插入任何行。我想我正在訪問正確的數據庫,因為從地區獲取 id 的初始查詢返回 1,這是正確的。這是怎么回事?編輯我已經通過這樣做確認我在正確的數據庫中rows, err = db.Query("SELECT DATABASE();")var test stringfor rows.Next() { rows.Scan(&test) fmt.Println(test)}哪個打印出來 education_data
- 1 回答
- 0 關注
- 361 瀏覽
添加回答
舉報
0/150
提交
取消