mysql阻止插入行自动排序

时间:2011-10-24 05:07:33

标签: mysql codeigniter sorting insert

我使用Codeigniter执行插入到mysql(不确定是否相关),我插入后有表列和一些这样的数据:


    [invoice_id][product_id][unit_cost][quantity]
    [42][1][50][2]
    [42][2][100][3]
    [42][5][45][1]

问题是mysql自动按invoice_id排序,然后像product_id那样对它进行排序。

在我插入之前,我的发票项目列表位置为:


    [42][5][45][1]
    [42][1][50][2]
    [42][2][100][3]

我不想要任何这种自动排序,因为当我检索它们时,它们就像数据库中的列表一样,而不是发票中的列表。我不认为我可以对特定列使用sort,因为它们首先是随机的。

我只能开始考虑添加另一个列[position]包含数字只是为了以后对它进行排序,或者没有它可以有更好的方法吗?

提前感谢您的回复。

1 个答案:

答案 0 :(得分:0)

除非您指定ORDER BY子句,否则无法保证MySql结果集的顺序。如果您无法使用已有的参数进行排序,那么唯一的方法是向表中添加另一列。通常,这将是自动增量整数字段。然后,您可以按ID排序,并按照输入的顺序返回行。