Java 为每个名称指定一个ID

Java 为每个名称指定一个ID,java,mysql,eclipse,Java,Mysql,Eclipse,例如,我正在尝试为每个名称分配ID。如果agentName为Bob,则会将ID分配给Bob,并且当插入新行数据且agentName为Bob时,ID将保持不变 这是sql表,有没有编写代码或使用sql查询它的方法 ---------------------------------------------- ID AgentName Conversation | ----------------------------------------

例如,我正在尝试为每个名称分配ID。如果agentName为Bob,则会将ID分配给Bob,并且当插入新行数据且agentName为Bob时,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                  |
    ----------------------------------------------

在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);
      }
  }

}
公共类证明{
public static HashMap agentsId=new HashMap();
公共静态整数计数器=0;
公共静态void main(字符串[]args){
//添加新代理
System.out.println(“Bob”+addAgent(“Bob”);
System.out.println(“Mary”+addAgent(“Mary”);
//添加旧代理(返回旧id)
System.out.println(“Bob”+addAgent(“Bob”);
}
公共静态int addAgent(字符串名称){
if(agentsId.get(name)!=null){
//做你的工作
返回代理ID.get(名称);
}否则{
计数器=计数器+1;
代理ID.put(名称、计数器);
//做你的工作
返回代理ID.get(名称);
}
}
}

Eclipse和mysql标签?可能您忘了添加用于在此IDE上编程的语言^^使用
autoincrement
创建一个
integer
列,它将维护您需要的内容want@FoxCy是的,对不起!我目前正在使用java@MayankPandeyz是的,我就是这么做的。ID列是带有自动递增的整数,但它没有相应地分配给每个名称