Подключаюсь к БД и пытаюсь внести значения в таблицу bot_api
значения 1337, helloman, David
.
Код:
package main
import "fmt"
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
// Global sql.DB to access the database by all handlers
var db *sql.DB
var err error
func main() {
Hello()
}
func Hello() {
// Create an sql.DB and check for errors
db, err = sql.Open("mysql", "root@/formm")
if err != nil {
panic(err.Error())
} else {
}
// sql.DB should be long lived "defer" closes it once this function ends
defer db.Close()
// Test the connection to the database
err = db.Ping()
if err != nil {
panic(err.Error())
}
rows, err := db.Prepare("insert into bot_api values ('1337', `helloman`, 'David')")
if err != nil {
panic(err.Error())
}
fmt.Println(rows)
}
Выдает ошибку: panic: Error 1054: Unknown column 'helloman' in 'field list'
.
Значение: первое значение - int
, второй значение - text
, третье значение - varchar(255)
.
Что не так я делаю?
Либо используйте db.Exec()
вместо db.Prepare()
:
res, err := db.Exec("insert into bot_api values ('1337', `helloman`, 'David')")
либо используйте подстановочные символы в запросе и подстановку параметров при выполнении запроса:
stmt, err := db.Prepare("insert into bot_api values (?, ?, ?)")
...
rows, err := stmt.Exec("1337", "helloman", "David")
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть DataGrid, обычно он заполнять построчно, а как заполнять его по стобцу? Тоесть не так заполнять: