【问题标题】:MySQL Add x to current Primary Key valueMySQL 将 x 添加到当前主键值
【发布时间】:2011-04-29 17:56:07
【问题描述】:

我有一个包含主键的数据库,但我的老板要我将它重新编号为(当前 PK 值)+ 800000...

因此,PK 1 将变为 800001,PK 2354 将变为 802354 等等...

有没有一种简单的方法可以做到这一点,或者我应该写一个脚本吗?

【问题讨论】:

  • 我这样做的原因是因为旧的做事方式和我们现在的设置方式之间存在数据冲突。我是新手,没有意识到他们有一个旧的编号系统,所以这部分是我的错。到目前为止,该表尚未引用或被另一个表引用。

标签: mysql-management


【解决方案1】:

可能最直接的方法是从该表中删除主键(不是列,只是索引),更新所有值以增加 800000,然后再次为该列添加主键。

alter table rptapp_batches change column id id int not null;
alter table rptapp_batches drop primary key;
update rptapp_batches set id = id + 800000;
alter table rptapp_batches add primary key (id);
alter table rptapp_batches change column id id int auto_increment;

如果 pk 也是 auto_increment,则需要第一个和最后一个语句。

【讨论】:

猜你喜欢
  • 2011-06-15
  • 1970-01-01
  • 2020-05-10
  • 2012-03-29
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多