Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将记录添加到表的最后一个_Sql_Sql Insert - Fatal编程技术网

Sql 将记录添加到表的最后一个

Sql 将记录添加到表的最后一个,sql,sql-insert,Sql,Sql Insert,当我使用下面的查询将新记录添加到表中时(未知),新记录将添加到表的第一个。 我想向表的最后一个添加新记录 这是我的代码: begin insert into TBLCrowler (Url,Title,ParentId,HasData) values (@Url,@Title,@ParentId,@HasData) end 好的,再一次进入缺口。 您正在使用关系数据库。它不是工作表,也不是word文档中的矩形单元格数组。它的能力取决于能否以最有效的方式存储和检索记录 排序要么通过索引隐

当我使用下面的查询将新记录添加到表中时(未知),新记录将添加到表的第一个。 我想向表的最后一个添加新记录

这是我的代码:

begin
insert   into  TBLCrowler (Url,Title,ParentId,HasData) values (@Url,@Title,@ParentId,@HasData) 
end

好的,再一次进入缺口。 您正在使用关系数据库。它不是工作表,也不是word文档中的矩形单元格数组。它的能力取决于能否以最有效的方式存储和检索记录

排序要么通过索引隐含,DBMS可以自由忽略索引,而且索引可以随时更改,要么通过ORDERBY语句显式要求

如果希望在将内容添加到表中时对其进行排序,可以在执行插入时添加一个created_at列并填充它

然后,当您从中选择时,您将在处创建的订单添加到select语句中

如果希望排序“快速”,可以在Created_At列上添加一个索引,那么DBMS将勇敢地尝试使用该索引,以避免全过程排序的开销

退一步,思考一下如何编写DBMS。隐式有序性的代价是什么。对“last”表中除“last”之外的任何记录所做的任何更改都意味着在“last”之后将每个表中的每条记录重新写入磁盘。插入更糟糕,删除也同样糟糕,这并没有考虑到不同的记录占用不同的空间


所以,如果你能找到它们,就把第一行和最后一行扔进垃圾箱…

关系数据库表中没有“第一行”或“最后一行”这样的东西。我找到了一种方法,这就是我所做的,我洗耳恭听,事实上很兴奋。那你打算怎么做呢?
select top 1 CatId, Title, ParentId, Url, CrawlerCheck from TBLCrowler where CatId=(Select min(CatId) from TBLCrowler where CrawlerCheck=1)
update TBLCrowler set CrawlerCheck=2 , HasData=2
where CatId=(Select min(CatId) from TBLCrowler where CrawlerCheck=1)