【问题标题】:Not unique table/alias 'GPS' [closed]不是唯一的表/别名“GPS”[关闭]
【发布时间】:2014-01-16 13:44:28
【问题描述】:

这是我的表的创建:

  "CREATE TABLE GPS ("+
               "id int NOT NULL AUTO_INCREMENT,"+
               "name VARCHAR(30),"+
               "x REAL,"+"y REAL,"+
               "PRIMARY KEY (id)"+")";   

我处理了这个查询,当我尝试执行它时,出现异常“不是唯一的表/别名” 我尝试更改所有内容,但异常仍然存在!

"SELECT GPS.ID,GPS.NAME,GPS.X,GPS.Y,POI.ID,"+
                "POI.TYPE FROM GPS JOIN POI"+
                "ON POI.ID=GPS.ID"+
                "WHERE("+ 
                "(X BETWEEN "+xaxis+"-"+sett.getR()+" AND "+xaxis+"+"+sett.getR()+
                ") AND (Y BETWEEN "+yaxis+"-"+sett.getR()+" AND "+yaxis+"+"+sett.getR()+"))";

【问题讨论】:

  • 你真的应该使用准备好的语句,而不是像这样拼凑在一起。
  • 除了查询产生的错误信息外,还要检查最终执行的实际查询,以便检查琐碎的错误。

标签: java mysql sql


【解决方案1】:

确保在实际查询中有空格,例如:

"POI.TYPE FROM GPS JOIN POI"+"ON POI.ID=GPS.ID
"POI.TYPE FROM GPS JOIN POI"+" ON POI.ID=GPS.ID

这将导致实际查询为:

SELECT GPS.ID,GPS.NAME,GPS.X,GPS.Y,POI.ID,POI.TYPE FROM GPS JOIN POION POI.ID=GPS.ID (...)

我不认为 POION 是表名。

【讨论】:

  • 我不懂你!请更具体!
  • 您的实际查询将像这样结束:SELECT GPS.ID,GPS.NAME,GPS.X,GPS.Y,POI.IDPOI.TYPE FROM GPS JOIN POION POI.ID=GPS.ID // 而且我认为 POION 不是表格 ...
  • 这很具体,他们也给了你代码?
  • 你也错过了WHERE之前的空格
  • 谢谢你是对的!我没有看到连接中的错误,如果你写我在现实中执行的查询,我不会!
【解决方案2】:

您的创建查询语法是正确的,请尝试,
DROP TABLE IF EXISTS GPS
在执行创建表查询之前。

【讨论】:

  • 创建表查询与他的问题无关。问题查询是选择一个。
  • 我已经完成了!异常再次出现
  • 尝试在选择查询中选择一些硬编码值,以确认您的选择查询是否存在问题。
猜你喜欢
  • 1970-01-01
  • 2021-12-15
  • 2018-09-28
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 2019-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多