请帮我把导出内容 MySQL表分成两部分。我尝试了很多,但结果很差。
初始表:
product_id int(11) //id of some product
feature_id int(11) //id of the feature (like: color)
option_name varchar(1024) utf8_general_ci // variant of the feature (like: blue)
PRIMARY(product_id, feature_id)
(DESC:这是存储连接到某个产品的特定选项的选项名称(变体)的表格)
但这不好(没有必要为每个产品指定option_name,最好指定option_id)所以我在逻辑上把它分成两个但我无法正确导出内容。
1)选项
id int(11) AUTO_INCREMENT
feature_id int(11)
option_name varchar(1024) utf8_general_ci
DESC:它只存储它所连接的option_name和id和feature
2)products_options
id int(11) AUTO_INCREMENT Показать больше операций
product_id int(11)
feature_id int(11)
option_id int(11)
DESC:它存储与之连接的option_id和product_id以及feature_id
答案 0 :(得分:1)
INSERT INTO options (feature_id, option_name) VALUES (SELECT feature_id, option_name FROM initial_table);
接下来制作一些脚本(在php上可能?)用option_ids
填充products_options,因为你需要options.option_id
找Initial_table.option_name
,但mysql不支持连接子查询。< / p>
答案 1 :(得分:1)
您可以使用子查询
INSERT INTO options (feature_id, option_name) VALUES
(SELECT feature_id, option_name FROM initial_table);