简体   繁体   English

不是唯一的表/别名:在查询Java程序中

[英]Not unique table/alias: in query Java program

I'm having a problem with mysql in my project. 我的项目中的mysql有问题。 I think that is something wrong at here 我认为这是错误的

rs = bd.consultar(
      "SELECT mensagens.assunto as 'Assunto', mensagens.texto as 'texto', usuarios.username as 'Para', mensagens.data_hora as 'Hora Data' "
       + "FROM mensagens, usuarios"
       + "WHERE mensagens.para = usuarios.idusuarios and mensagens.de = " + Login.getUsuarioAtual().getId() + ";");

        while (rs.next()) {
        mensagemTemp = new Mensagem(rs.getString("Assunto"), rs.getString("texto"),
                Login.getUsuarioAtual().getUsername(), rs.getString("Para"), rs.getDate("Hora Data"));

        enviadas.add(mensagemTemp);
    }

here is the Erro: 这是Erro:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Not unique table/alias: 'mensagens'
    ...
    at Banco_de_Dados.BancoDeDados.consultar(BancoDeDados.java:29)
        at Banco_de_Dados.BancoMensagem.mensagensEnviadas(BancoMensagem.java:93)
        at GUI.Mensagens.MensagensRecebidas.initComponents(MensagensRecebidas.java:101)
        at GUI.Mensagens.MensagensRecebidas.(MensagensRecebidas.java:27)
        at GUI.Login.jBentrarActionPerformed(Login.java:230)
        at GUI.Login.access$200(Login.java:20)
        at GUI.Login$3.actionPerformed(Login.java:171)
    ...

I had done the query with out java code in mysql, i it works. 我已经用MySQL中的Java代码完成了查询,但它确实有效。 Some one can see something wrong ??? 有人可以看到错误的地方吗?

Sorry about my english 对不起我的英语

哇,我只是在查询中加上了“ FROM mensagens,usuarios”之后忘记了空格,抱歉打扰

SELECT m.Assunto 
     , m.Texto 
     , u.username Para
     , m.data_hora `Hora Data`
  FROM mensagens m
  JOIN usuarios u
    ON u.idusuarios = m.username 
 WHERE m.de = Login.getUsuarioAtual().getId();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM