Php 将一个MySQL表一分为二(导出内容)
请帮我把MySQL表的内容导出成两个。我试了很多,但是效果很差 初始表格:Php 将一个MySQL表一分为二(导出内容),php,mysql,sql,Php,Mysql,Sql,请帮我把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
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)
(描述:这是存储连接到特定产品的特定选项的选项名称(变量)的表)
但这并不好(不需要为每个产品指定选项\名称,最好指定选项\ id),因此我在逻辑上将其分为两部分,但无法正确导出内容
1) 选择权
DESC:它只存储它所连接的选项名称、id和功能
2) 产品和选项
id int(11) AUTO_INCREMENT Показать больше операций
product_id int(11)
feature_id int(11)
option_id int(11)
描述:它存储它所连接的选项标识、产品标识和功能标识
INSERT INTO options (feature_id, option_name) VALUES (SELECT feature_id, option_name FROM initial_table);
接下来,制作一些脚本(可能在php上?)用选项id
填充产品选项,因为您需要查找选项。选项id
通过初始表。选项名称
,但mysql不支持联接子查询。您可以使用子查询
INSERT INTO options (feature_id, option_name) VALUES
(SELECT feature_id, option_name FROM initial_table);
谢谢,太好了。我知道这是我需要的解决方案!只有我看到我需要选择distinctal,所以我没有使用脚本,只是使用了两个后续查询。
INSERT INTO options (feature_id, option_name) VALUES
(SELECT feature_id, option_name FROM initial_table);