我使用golang构建一个基本应用程序,我正在使用github.com/go-sql-driver/mysql驱动程序。我在heroku上连接clearDB mysql,但每次我都得到
错误1064:您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,使用附近的产品价格,其中id =?'在第1行
我无法理解为什么,这是我用于查询产品数据库的代码段。
id := c.Param("id")
row := db.QueryRow("select id, desc, price from product where id = ?;", id)
err := row.Scan(&product.Id, &product.desc, &product.price)
答案 0 :(得分:1)
desc
是一个关键字,因此您在命名列desc
时遇到麻烦。
使用MySQL,您需要使用反引号引用名称,如下所示:
"select id, `desc`, price from product where id = ?"