自动表规范化
我有一个具有这种结构的表(简化):
artID: 1
artName: TNT
ArtBrand: ACME
...
我想对其进行规范化,为品牌制作一个单独的表(它将包含有关每个品牌的附加数据) 所以我想最终得到这个
文章表:
artID: 1
artName: TNT
brandID: 1
...
品牌表
brandID: 1
brandName: ACME
brandInfo: xyz
....
该表有太多品牌,无法手动执行此操作。 有什么简单的方法可以自动执行此操作吗? 我正在使用 MySQL
I have a table with this structure (simplified):
artID: 1
artName: TNT
ArtBrand: ACME
...
And I want to normalize it making a separate table for the brand (it will have additional data about every brand)
So I want to end up with this
article table:
artID: 1
artName: TNT
brandID: 1
...
brand table
brandID: 1
brandName: ACME
brandInfo: xyz
....
This table have way too many brands to do this manually.
Any easy way to automate this?
I'm using MySQL
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
正如其他答案所建议的,您可以使用
INSERT ... SELECT
语法执行如下操作:测试用例:
结果:
As the other answers suggested, you can use the
INSERT ... SELECT
syntax to do something like this:Test case:
Result:
create table 作为选择
创建品牌的语法...
具有生成的 id-s 的表
create table as select
syntax to create the brands...
table with generated id-s
生成品牌表应该相当简单:
在原始表和新品牌表之间创建关系的情况类似,只是插入中的 select 语句如下所示:
Generating brands table should be fairly simple:
Similar story with creating relations between your original table and new brands table, just that select statement in your insert will look like this: