我将值存储到带有INSERT
查询
查询:
INSERT INTO tbl_Deta ([ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT)
VALUES (6,0,'ring gauge',44,nos)
INSERT INTO tbl_Deta ([ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT)
VALUES (6,0,'asd',14,ads)
INSERT INTO tbl_Deta ([ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT)
VALUES (6,0,'amd',33,asd)
结果:
[ID NO] [OR NO] [ITEM DESCRIPTION] QUANTITY UNIT
6 0 asd 14 ads
6 0 ring gauge 44 Nos
6 0 amd 33 asd
我希望结果与插入数据的顺序相同,而不是按字母顺序排列。
答案 0 :(得分:9)
表格中没有固有的顺序。
插入行时没有预先建立的顺序。如果你做了
SELECT [ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT FROM tbl_Deta
如果没有ORDER BY
,则不会使用特定的顺序。如果需要某些特定的排序结果,则必须使用ORDER BY
子句。您可以使用主键并根据其值进行排序。
有几个问题/答案可以帮助您更好地理解这一点:
我只是阅读我的RSS源并找到awesome blog entry by Michael J. Swart。在一个条目中关于这个主题的所有最佳答案,太棒了!
答案 1 :(得分:6)
按照插入顺序检索行不是标准的保证SQL功能。我建议您添加另一个可以订购的列,例如标识/自动编号整数字段,或者插入日期。
答案 2 :(得分:1)
你的桌子看起来怎么样?你可以这样看:
SHOW CREATE TABLE tbl_Deta;
如果您有一个存储创建日期的列(通常名为“created_at”),您可以按创建日期轻松订购:
SELECT * FROM tbl_Deta order by created_at;
但是,正如评论中所提到的,自动增量字段可能是更好的方法。
答案 3 :(得分:1)
如果我正确想象您的订单输入系统,您可能在该订单ID中有一个项目列表。我们建议您使用ITEM ID
列,但ORDER BY
时必须SELECT
。作为额外的好处,此ITEM ID可以帮助您,以防您需要UPDATE
。