panic: Error 1054: Unknown column 'helloman' in 'field list'

197
04 декабря 2017, 14:45

Подключаюсь к БД и пытаюсь внести значения в таблицу 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).

Что не так я делаю?

Answer 1

Либо используйте 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")
READ ALSO
WPF как “перевернуть” DataGrid

WPF как “перевернуть” DataGrid

Есть DataGrid, обычно он заполнять построчно, а как заполнять его по стобцу? Тоесть не так заполнять:

157
Перевод кода C++ в C# - C#

Перевод кода C++ в C# - C#

народ помогите перевести это в C# я не знаком c#

242