Java SQL,JTable记录编号更新

Java SQL,JTable记录编号更新,java,sql,jtable,Java,Sql,Jtable,我正在做一个项目,我正在使用SQL数据库和JTable,我试图想出一种方法,在删除一条记录后修复记录id的顺序。我的想法是: 例如,我有id为10、11、12的记录,在删除记录11后,我想用数字12制作记录,用数字11进行记录,等等。 .我试过这样做: sqledit = "UPDATE records set id = " + i + "where id = " + i + ";"; 在for循环中,第二个参数是i

我正在做一个项目,我正在使用SQL数据库和
JTable
,我试图想出一种方法,在删除一条记录后修复记录id的顺序。我的想法是: 例如,我有id为10、11、12的记录,在删除记录11后,我想用数字12制作记录,用数字11进行记录,等等。 .我试过这样做:

sqledit = "UPDATE records set id = " + i + "where id = " + i + ";"; 
在for循环中,第二个参数是
i<(数据库中的记录数)
,但我得到了错误

严重:null java.sql.SQLException:无法识别的令牌:“0where”


也许您应该在
“where id
中的
后面添加一个空格,您正在使用哪个DBMS?使用单个update语句(至少在现代DBMS中)可以更有效地实现这一点。顺便说一句:您的循环将不起作用,因为您实际上正在执行:
更新记录集id=1,其中id=1
。如果删除
id=11
语句
updaterecords set id=11,其中id=11
将不会更新任何内容,因为
id=11
不再存在。话虽如此:如果
id
是该表的主键,“重新编号”毫无意义。没有必要这样做。pk值没有任何意义。所以重新编号是没有用的。你对循环的看法是对的,我会用另一种方式考虑解决方案,不使用这个id