Sam*_*wal 1 c# sql sql-server wpf visual-studio-2010

我有表的列,有些列是varchar.我注意到表中的行是自动排序的.相反,我希望行的顺序与插入表中的顺序相同.有线索吗?请注意,我没有应用任何ORDER BY条款,日期对于列都是相同的.
很明显,尽管我首先添加了测试手册3,但它自动低于测试手册2,这是不希望的.
是因为我的PK是复合的吗?
您没有确切地指定您正在使用哪个RDBMS,但我可以说以下关于Microsoft SQL Server:
如果没有ORDER BY子句,则无法保证任何可预测/可重复的排序
如果要在插入行时按行排序,则需要:添加一个新列,该列是IDENTITY(可以是INT或BIGINT)或DATETIME/DATETIME2数据类型,默认约束为GETDATE()或GETUTCDATE( )和 ORDER BY这个新领域
新领域与PK无关.这是参考别人提出的建议.PK用于关系,而不是排序,虽然IDENTITY通常用于PK,但是有很多情况下具有一个或多个非自动递增字段的PK并且仍然具有自动递增字段.
如果您需要插入记录的毫秒/纳秒以及保证/可重复排序的详细信息,请同时执行DATETIME/DATETIME2和IDENTITY字段.
添加这些字段中的一个或两个并不意味着任何特定的索引结构.它们的存在只允许您创建一个或多个索引,这些索引将包含它们以强制执行您想要的顺序.