C#SQL:如何在多条记录上使数据库中的整数值递增一

本文关键字:数据库 整数 记录 C#SQL | 更新日期: 2023-09-27 17:58:57

我正在寻找更新存储在以下结构上的值的最佳方法:

表:页面

字段:

  1. id(int)
  2. bookid(int)
  3. 页面顺序(int)
  4. filename(string/varchar)

所以我有书的订单和页码。我需要在页码之前插入一个页面,比如说25,并更新所有其他页面,使其页面顺序值增加1。

我可以在不拉列表和骑自行车的情况下完成这项工作吗?或者这是最好的方法吗?

谢谢!

C#SQL:如何在多条记录上使数据库中的整数值递增一

declare @newpage int
set @newpage = 25
update pages set pageorder = pageorder +1 where pageorder >= @newpage and bookid = @bookid

像那样的东西?

严格使用SQL,就像这个

update pages 
set pageorder = pageorder + 1
where bookid=@bookid
and pageorder >= @pageorder;
insert into Pages
(id,bookid,pageorder,filename)
values
(@id,@bookid,@pageorder,@filename);