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