【问题标题】:getting mysql Error 1064获取 mysql 错误 1064
【发布时间】:2017-09-06 02:05:11
【问题描述】:

我正在使用 golang 构建一个基本应用程序,我正在使用 github.com/go-sql-driver/mysql 驱动程序。我在 heroku 上连接到 clearDB mysql 但每次我都得到 ​​p>

错误 1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在 'desc, price from product where 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)

【问题讨论】:

  • 您是否尝试过从 SQL 语句中删除 ;
  • "desc" 是 MySQL 关键字:需要用反引号括起来。
  • DESC 实际上是一个reserved word。大多数 MySQL 关键字可以不加引号使用,但保留字是必须加引号的关键字的子集。不过,我认为最好避免将它们用作列名。

标签: mysql


【解决方案1】:

desc 是一个关键字,因此当您将列命名为 desc 时会遇到麻烦。

对于 MySQL,您需要用反引号引用名称,如下所示:

"select id, `desc`, price from product where id = ?"

【讨论】:

    猜你喜欢
    • 2011-02-11
    • 2015-07-03
    • 1970-01-01
    • 2012-01-27
    • 2011-04-17
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多