【发布时间】:2013-08-19 16:29:28
【问题描述】:
如果Insert SQL没有“order by”,则sql中的记录是按插入时间排列的。
我有一张表:授权(密码,密码)
但是,我运行 INSERT INTO 授权(PIN,代码) 值('12','abcd')。 插入几条记录后,查询所有数据,发现这些记录没有顺序。
如何按插入时间顺序插入数据。
谢谢
【问题讨论】:
如果Insert SQL没有“order by”,则sql中的记录是按插入时间排列的。
我有一张表:授权(密码,密码)
但是,我运行 INSERT INTO 授权(PIN,代码) 值('12','abcd')。 插入几条记录后,查询所有数据,发现这些记录没有顺序。
如何按插入时间顺序插入数据。
谢谢
【问题讨论】:
SQL 中的表没有固有的顺序。这就是语言的定义。您要做的是在数据中添加一个自动增量 id 列:
create table authorization (
AuthorizationID int auto_increment primary key,
pin . . .
code . . .
. . .
);
那么当你插入为:
insert into authorization(pin, code)
. . .;
会自动生成一个新的 id。这个id 会记住插入顺序。顺便说一句,如果您还想记住插入的确切时间,您可能还需要一个时间戳列。
【讨论】: