如何重新排序主键?

2024-02-27

我在“表类别”中删除了一行(第 20 行),请告诉我如何重新排序 catid(主键)?此时已是19点21分。

Thanks


你不能。你能得到的最接近的是truncate table,这将删除表并重新创建它,这意味着您将丢失其中的所有数据,并且 ID 计数器将重置为 0。除此之外,ID 始终会从最后插入的记录开始递增 1,无论该记录是否仍然存在存在或不存在。当然,您可以编写一个查询来修复所有当前的 ID,但在下次插入时,它仍然会创建一个新的间隙。更重要的是:如果您想要无间隙的顺序排序,那么自动增量 ID 并不是实现这一目标的正确方法。添加另一个 int 字段,您可以在其中手动跟踪此顺序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重新排序主键? 的相关文章

  • 如何修复:对于不返回任何键列信息的 SelectCommand,不支持为 DeleteCommand 生成动态 SQL

    我的代码有效 复制大约 10 个表后 出现错误 Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does
  • 主键重复记录绕过到下一个插入

    奇怪的问题 我正在表中插入 10 000 条左右的记录 并且主键不是身份字段 因此 当插入所有 10 000 条记录时 如果有些重复 有没有办法跳到 sql server insert 中的下一条记录并确保不重复插入 我真的不在乎重复项没有
  • MySQL删除后自动递增

    我有一个 MySQL 表 其主键字段启用了 AUTO INCRMENT 阅读这里的其他帖子后 我注意到人们有同样的问题并且有不同的答案 有些人建议不要使用此功能 另一些人则表示它无法 修复 I have table course field
  • pgAdmin 中的主键和外键

    我想知道有人能给我解释一下如何在 pgAdmin 中分配主键和外键吗 我在网上找不到任何信息 例如 我有一个学生表 其中包含他们的所有详细信息 地址 出生日期等 我将向表中添加一个 Student number 并使其成为主键 我只是想知道
  • 一个表可以有两个外键吗?

    我有下表 主键bold 外键输入Italic 顾客表 ID 姓名 平衡 帐户名称 帐户类型 账户类别表 帐户类型 平衡 客户明细表 帐户名称 名字 姓氏 地址 我可以在 Customer 表中有两个外键吗 如何在 MySQL 中实现这一点
  • cassandra中的主键是唯一的吗?

    这可能有点蹩脚 但在 cassandra 中主键是唯一的吗 例如下表中 CREATE TABLE users name text surname text age int adress text PRIMARY KEY name surna
  • 在 SQL 中命名主键“id”与“something_id”[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 删除主键(聚集索引)以提高插入性能

    我们一直在经历 SQL 超时 并已确定该瓶颈是审核表 我们系统中的所有表都包含插入 更新和删除触发器 这些触发器会导致新的审核记录 这意味着审计表是系统中最大且最繁忙的表 然而数据只进入 永远不会出来 在这个系统下 所以没有select需要
  • MySQL 中的复合主键性能缺陷

    我们有一个表 其复合主键由三个字段组成 在 MySQL 5 1 中 该表每秒有近 200 次插入和 200 次选择 表的大小约为 100 万行 并且还在不断增加 我的问题是 复合主键 是否会降低该表上的插入和选择的性能 我应该使用简单的自动
  • 重置主键而不删除截断表

    我有一个带有主键的表 现在没有任何原因我不知道当我插入数据时它会像这样加载 Pk Col Some Other Col 1 A 2 B 3 C 1002 D 1003 E 1901 F 有什么方法可以像下面这样重置我的表格 而不删除 截断表
  • 房间复合主键链接到外键

    我正在使用 Room 数据库实现一个 Android 应用程序 并且对这个数据库中的关系有一个小问题 我有两张桌子 Entity tableName foods primaryKeys id language id indices Inde
  • Oracle - 返回新插入的键值

    我们有一个带有主键的表 该表在插入时由表上的触发器填充 触发器从我们为表创建的序列中获取下一个序列号 并将其用作插入时键的值 现在我们希望能够在插入过程 PL SQL 中返回该值 类似于 SQL Server 中的 select scope
  • 如何让主键从1000开始?

    create table tablename id integer unsigned not null AUTO INCREMENT primary key id 我需要主键从1000开始 我正在使用MySQL 如果您的表已经创建为自动增量
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 查找 SQL Server 中表的 B 树高度

    由于数据库数据以B Tree的形式组织在8k页中 对于PK信息也是如此 数据库中的每个表都应该可以计算B Tree的高度 从而揭示达到某些数据需要多少次跳跃 由于行大小和 PK 大小都非常重要 因此很难计算 因为例如varchar 250
  • 重置主键

    我试图找到在线执行此操作的答案 但显然无法完成 我的意思是在应用程序级别 而不是数据库级别 我需要完全清除我的数据集并同时重置主键 有任何想法吗 或者 我可以使用的一种技巧是重新初始化数据集 但这似乎也不可能 因为数据集在应用程序中的不同类
  • UUID最大字符长度

    我们使用 UUID 作为 Oracle DB 的主键 并尝试确定 VARCHAR 的适当最大字符长度 显然这是 36 个字符 但我们注意到生成的 UUID 比这个长 长度最多为 60 个字符 有谁知道 UUID 的合适最大字符长度 RFC4
  • 什么可能导致主键异常?

    我的 ASP 页使用以下存储过程将会话变量存储在 SQL Server 中 CREATE PROCEDURE dbo MyProcedure sessionId varchar 512 variable varchar 350 value
  • 为什么 Rails 5 将“索引”更改为“外键”?

    如果你在 Rails 4 中有这个 t references event index true 现在你可以使用foreign key代替index在 Rails 5 中 我不太明白为什么他们决定这样做 因为功能保持不变 您添加的是索引 而不
  • SQL Server“伪/合成”复合 Id(key)

    抱歉 但我不知道如何在标题中调用我需要的内容 我想创建一个唯一的密钥 其中数字的每两位数字都标识其他表 PK 假设我在这 3 个表中的 Pks 如下 Id Company Id Area Id Role 1 Abc 1 HR 1 Assis

随机推荐