我使用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]包含数字只是为了以后对它进行排序,或者没有它可以有更好的方法吗?
提前感谢您的回复。
答案 0 :(得分:0)
除非您指定ORDER BY
子句,否则无法保证MySql结果集的顺序。如果您无法使用已有的参数进行排序,那么唯一的方法是向表中添加另一列。通常,这将是自动增量整数字段。然后,您可以按ID排序,并按照输入的顺序返回行。