Java数据库添加到我删除的行?

Java数据库添加到我删除的行?,java,mysql,database,Java,Mysql,Database,好的,我有一个程序,在这个程序中,我将新玩家添加到数据库中,并将他们的用户加载到列表中。问题是当我删除一个用户,然后去添加一个新用户时,新玩家会被添加到旧用户所在的位置。基本上是因为该点现在是免费的,我使用: rs.moveToInsertRow(); 有并没有一种方法,当添加一个新的播放器时,它“总是”添加到数据库的末尾。比如,当您从表中删除一行以使数据库压缩以使其没有间隙时 代码如下: public static void Save() { try { String Name = "##

好的,我有一个程序,在这个程序中,我将新玩家添加到数据库中,并将他们的用户加载到列表中。问题是当我删除一个用户,然后去添加一个新用户时,新玩家会被添加到旧用户所在的位置。基本上是因为该点现在是免费的,我使用:

rs.moveToInsertRow();
有并没有一种方法,当添加一个新的播放器时,它“总是”添加到数据库的末尾。比如,当您从表中删除一行以使数据库压缩以使其没有间隙时

代码如下:

public static void Save() { try {

String Name = "#####";
 String Pass= "#####";
String Host = "######";
    Connection con = DriverManager.getConnection(String.format(
"jdbc:mysql://%s:%s/%s", Host, "####", "####"),
Name, Pass);
  Statement stmt = con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);



String sql = "SELECT * FROM Accounts";
    ResultSet rs = stmt.executeQuery(sql);


 rs.moveToInsertRow( );

    String userName= TestForm.UsernameTextField.getText(); //make this equal to whats in textfield
    String password= TestForm.PasswordTextField.getText(); //make this equal to whats in textfield

    String insertQuery="insert into Accounts (`Username`,`Password`) values ('"+userName+"','"+password+"');";
    stmt.executeUpdate(insertQuery);

 stmt.close();
 rs.close();
}

catch(Exception e)
{
System.out.println("ERROR");
e.printStackTrace();
}

您的表创建语句是什么<代码>显示创建表帐户


表中的整数主键似乎有助于解决您的问题。

我不知道表中可能有间隙。。。也许你的意思是你的PK序列中有间隙?只是一个你应该用来插入数据的旁注。我建议使用自动递增整数主键。auto_increment不会重复条目,即使条目被删除。我使用godaddys mysql,它有一个gui来创建一个表和列等。我该怎么做?就像我添加时递增,删除时递减,然后将新行添加到total++?要添加到特定行的sql命令是什么?另外,如果表格有5行,您可以添加到第6行吗?谢谢@Peter i发布SQL以显示表结构:
show CREATE table Accounts
descripe Accounts