当前位置: 首页 > 面试题库 >

将自动增量主键插入现有表

翁俊良
2023-03-14
问题内容

我正在尝试更改没有主键或auto_increment列的表。我知道如何添加主键列,但我想知道是否有可能自动将数据插入主键列(我已经在数据库中有500行,并希望为其提供ID,但我不想手动执行)
。有什么想法吗?非常感谢。


问题答案:

在我的测试中,ALTER TABLE添加PRIMARY KEY列的语句可以正常工作:

ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;

在为测试目的而创建的临时表上,以上语句创建了该AUTO_INCREMENT id列,并为该表中的每个现有行插入了自动递增值,从1开始。



 类似资料:
  • 问题内容: 我想向具有数据的现有表中添加一个新的自动增量主列。我怎么做? 我先添加了一个列,然后尝试添加一个序列,此后,我迷失了如何插入该列并将其作为主键。 问题答案: 假设您的表被调用t1,您的主键被称为idFirst,创建序列: 然后创建一个触发器,该触发器在插入时增加:

  • 问题内容: 我创建了一个具有主键的表并启用了该表,如何使用MYSQL ? 这是我使用的查询,我尝试使用“”和“ 1”作为第一个值,但是它不起作用。 问题答案: 为了利用列的自动递增功能,在插入行时不要为该列提供值。数据库将为您提供一个值。

  • 问题内容: 我正在寻找这样的查询: id | int | 自动增量 varchar | 255 这样桌子就看起来像 1 | val1 2 | val2 3 | val3 … 除了id总是以每一行都结束而已。 我怎样才能做到这一点? 问题答案:

  • 问题内容: 我有多个结构相同的数据库,有时会在其中复制数据。为了保持数据完整性,我使用两列作为主键。一个是数据库ID,它链接到包含有关每个数据库的信息的表。另一个是表键。它不是唯一的,因为它可能有多个行,且此值相同,但database_id列中的值不同。 我打算将这两列变成一个联合主键。但是,我也想将表键设置为自动递增-但基于database_id列。 EG,使用以下数据: 如果我要添加包含dab

  • 问题内容: 是否可以自动增加非主密钥? 表“ book_comments” 该表上将没有其他索引。但是,我想使列自动递增,以便可以轻松创建另一个表: 表格“ book_comments_votes” 用户将只能对每个书评进行一次投票。该表通过主键强制执行此规则。 题: 是否可以自动增加非主键-例如,自动增加表“ book_comments”中的列? 替代方案,讨论: 如上所述,我想这样做是为了简化

  • 问题内容: 错误: 违反主键约束。 无法在对象中插入重复的密钥。 如何使第一行之后的主键递增? 我希望能够同时向此表添加项目列表,而不是将其插入RBAR。 谢谢您的帮助 问题答案: 仅对于此语句,ID将是顺序的,例如,如果ID为99,并且要插入4条记录,则ID为100、101、102、103。如果同时插入多个进程,则很容易违反约束,但是这并不是说,这比使用单条记录本质上不安全的情况要糟。