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