如何通过增加主键来将数据从一个表传输到另一个表

时间:2016-02-28 09:39:50

标签: mysql sql

我有两张表如下 -

COLOR

    colorId name description
    1000    White White
    1001    Blue  Blue

 ProductFeature
productFeatureId productFeatureTypeId description
20001            COLOR                White
20002            COLOR                Blue

在颜色表中,我有近400行。现在我正在尝试编写一个sql查询,通过告诉productFeatureTypeId =“COLOR”将这些行传输到ProductFeature表中,并且每次都会增加productFeatureId(主键)。

2 个答案:

答案 0 :(得分:0)

使用此结构创建产品表

CREATE TABLE ProductFeature (
     productFeatureId MEDIUMINT NOT NULL AUTO_INCREMENT,
     productFeatureTypeId CHAR(30) NOT NULL,
     description CHAR(30) NOT NULL,
     PRIMARY KEY (productFeatureId)
)

编辑:如果表已经存在,请更改该列的数据类型,在您的情况下,首先删除productFeatureid字段中存在的所有值,并将数据类型更改为auto_increment

ALTER TABLE t1 MODIFY <column_name> <type> ;

答案 1 :(得分:0)

假设productFeatureIdAUTO_INCREMENT,您可以使用insert into ... select语句。

insert into ProductFeature (productFeatureTypeId, description) 
    select 'COLOR', name from Color;