【问题标题】:Error 1064 - SQL syntax for an INSERT statement错误 1064 - INSERT 语句的 SQL 语法
【发布时间】:2013-10-31 17:48:18
【问题描述】:

我正在尝试执行此查询:

insert into lvl.tb_jogos a (a.Tags,a.Nome,a.Descricao,a.IdCategoria,a.Tipo)
values
(
  (select b.keywords,b.name,b.`desc`,b.cat,b.`type`
   from level2.games b, lvl.tb_jogos a
   where b.name LIKE `%12 Holes of X-Mas%`
  )
)

但 SQL 返回此消息:

错误 SQL (1064):您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,以获取在 'a(a.Tags,a.Nome,a.Descricao,a.IdCategoria,a.Tipo) 值附近使用的正确符号( (在第 1 行选择 b.keywords

你能帮帮我吗?

【问题讨论】:

  • 插入时不要在表上提供别名。

标签: mysql sql


【解决方案1】:

删除VALUES这个词,然后你应该很好。

【讨论】:

    【解决方案2】:

    用单引号替换反引号,来自:

    LIKE `%12 Holes of X-Mas%`
    

    到这里:

    LIKE '%12 Holes of X-Mas%'
    

    同时删除额外的 VALUES 和括号。你的陈述应该是:

    INSERT INTO lvl.tb_jogos (Tags, Nome, Descricao, IdCategoria, Tipo)
    SELECT b.keywords, b.name, b.desc, b.cat, b.type
    FROM level2.games b, lvl.tb_jogos a
    WHERE b.name LIKE '%12 Holes of X-Mas%'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多