【发布时间】:2018-03-13 16:35:37
【问题描述】:
我的服务器会从数据库中检索最新的 ID,现在它被卡住并不断返回 id 99999,即使最新的 id 现在是 100040
我的代码是:
String insertTable = "SELECT * FROM dutyofcare ORDER BY Id DESC LIMIT 1";
ps = conn.prepareStatement(insertTable);
rs = ps.executeQuery();
String ResultS = "";
if (rs.next()) {
ResultS += rs.getString("Id");
}
【问题讨论】:
-
是的,因为它进行的是词汇排序,而不是数字排序。我猜你的 ID 列是 char 类型的?
-
它从 1-99999 工作,我如何更改它以返回最新的 ID?
-
这是 varchar,解决此问题的最佳方法是什么?我应该将其更改为 int 吗?
-
为什么它是一个varchar,当你清楚地存储数字时?另外,与其做这样复杂的查询,为什么不使用
SELECT MAX(id) FROM dutyofcare?