【问题标题】:Active JDBC saves data alphabetically活动 JDBC 按字母顺序保存数据
【发布时间】:2018-06-18 02:52:06
【问题描述】:

我有一个数组列表。

ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("timestamp");
arrayList.add("Code");
arrayList.add("Banana");
arrayList.add("record_version");

对于每个字符串,我想将其保存到数据库中。

for(String str : arrayList){
    Rec_table table = new Rec_table();
    table.set("Name", str);
    table.saveIt();
}

我的期望是数据会是这个样子,

Name:
timestamp
Code
Banana
record_version

但是数据是这样保存的,(字母顺序)

Name:
Banana
Code
record_version
timestamp

为什么会这样?

【问题讨论】:

  • 名字是主键吗?
  • 您需要提供更多信息。您能否提供一个最小、完整且可验证的示例 (stackoverflow.com/help/mcve)?
  • ... 包含表定义?以及您期望的基础?

标签: java mysql activejdbc


【解决方案1】:

您如何知道数据是按此顺序存储的?此外,您为什么关心 DB 如何存储您的数据?当您从数据库请求任何数据但未提供order by 时,数据库将没有义务以任何特定顺序返回数据。如果您需要读取特定数据,您必须提供order by &lt;column name&gt;。如果您需要以相同的顺序读取数据,则需要添加另一个具有增量的列,然后按该列排序。

另外,这个问题真的和ActiveJDBC无关。

【讨论】:

    猜你喜欢
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多