2017-10-05 12 views
1

私は各名前にIDを割り当てようとしています。 agentNameがBobの場合、IDがBobに割り当てられ、新しいデータ行が挿入され、agentNameがBobの場合、IDは同じままです。具体的にはそれぞれのIDにIDを割り当てます

これはSQLテーブルです。これをクエリするためにSQLをコード化または使用する方法はありますか?

---------------------------------------------- 
    ID AgentName  Conversation    | 
    ---------------------------------------------|   
    1 Bob    Hi      | 
    2 Mary   it should be 20-24 Jan | 
    3 Bob    oops      | 
    4 Jane   yeah feb     | 
    5 Jane   my typo     | 
    ---------------------------------------------- 
+1

EclipseとMySQLのタグ:例に従いマップ

を初期化することを忘れないでください?多分あなたはこのIDE上でプログラムするために使用する言語を追加するのを忘れていました^^ – F0XS

+0

'autoincrement'で' integer'カラムを作ると、あなたが望むものを維持します。 –

+0

@FoxCyええ、ごめんなさい!私は現在、Javaを使用しています – Bob

答えて

1

javaでは、HashMapを作成できます(値としてキーとIDとしてエージェント名を使用します)。次に、各挿入について、エージェント名がHashMapに存在するかどうかをチェックします。値が見つかった場合はそれを使用し、それ以外の場合は新しい要素をマップに追加します。

public class Prove { 

    public static HashMap<String, Integer> agentsId = new HashMap<String, Integer>(); 
    public static Integer counter = 0; 

    public static void main(String[] args) { 

     //Add new agent 
     System.out.println("Bob " + addAgent("Bob")); 
     System.out.println("Mary " + addAgent("Mary")); 

     //Add old agent (return old id) 
     System.out.println("Bob " + addAgent("Bob")); 
    } 

    public static int addAgent(String name) { 
     if(agentsId.get(name)!=null) { 
      //do your work 
      return agentsId.get(name); 
     } else { 
      counter = counter + 1; 
      agentsId.put(name, counter); 
      //do your work 
      return agentsId.get(name); 
     } 
    } 

} 
関連する問題