我在数据库中有产品清单,想要管理员管理序列。
如果我在数据库中输入新产品,它将成为1.(已经有6条记录1,2,3,4,5,6)新产品将是序列1.新序列将是1,2,3 ,4,5,6,7和新纪录将会出现1。
如果在插入新记录期间我想要进入第3个位置而不是其他位置编号3变为4而位置编号4变为5,依此类推。
我正在使用MySQL和PHP。
我得到了答案,当管理员将使用以下查询添加我们将新产品始终作为第一位置的产品时: -
//默认位置将设为0
插入用户(name,inum)值('产品名称',' 0');
SET @i = 0;
UPDATE用户SET inum = @i:= @i + 1 ORDER BY inum;
如果我想在第3位插入新记录并且记录位置的其余部分将增加1,我需要做什么。
答案 0 :(得分:1)
默认情况下,如果您声明一个id列或任何名称应用自动增量而不是插入它们采用自动整数值的Priyank 比如1比2比3,所以没有重复值
根据您的排序,您可以使用
order by id desc
所以你可以先检索最后的数据,依此类推
更新问题后,您可以使用以下查询
UPDATE TABLE table SET ID += 1 WHERE ID >= 9;
INSERT INTO TABLE (ID, ...) VALUES (9, ...);