简体   繁体   中英

Not unique table/alias: in query Java program

I'm having a problem with mysql in my project. 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:

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. 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();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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