用MySql中的自然键改造表中的代理键?
假设一个表使用自然键并具有许多现有行。 使用 MySql 改造代理键列并用唯一值填充它的最简单方法是什么?
即转换
table employees
(
social_security_no varchar(20),
...
constraint emp_pk primary key (social_security_no)
);
为
table employees
(
id int,
social_security_no varchar(20),
...
constraint emp_pk primary key (id)
);
新的 id 列并用有效的 id:s 填充。
谢谢/埃里克
Assume a table that uses a natural key and has a number of existing rows. What would be the easiest way to retrofit a surrogate key column and populate it with unique values using MySql?
I.e. transform
table employees
(
social_security_no varchar(20),
...
constraint emp_pk primary key (social_security_no)
);
to
table employees
(
id int,
social_security_no varchar(20),
...
constraint emp_pk primary key (id)
);
and fill the new id column with valid id:s.
Thanks /Erik
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简单:
您可能(可能)想要这样做:
对于任何引用表:
Simple:
Optionally you'll (probably) want to do this:
and for any referencing tables: