CREATE TABLE crm_car_style (
car_style_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
car_model_id INT(11) NULL DEFAULT NULL  ,
car_style_name VARCHAR(128) NULL DEFAULT NULL ,
car_model_name VARCHAR(128) NULL DEFAULT NULL  ,
is_deleted TINYINT(1) NULL DEFAULT '0'  ,
car_brand_name VARCHAR(128) NULL DEFAULT NULL  ,
car_brand_id INT(11) NULL DEFAULT NULL 
)ENGINE=InnoDB,CHARSET=utf8;
这是建表的语句!我想通过存储过程插入以下数据,并跟原表数据进行比较
插入的数据:
1,41,奥迪 A1 2012款  1.4TFSI 双离合 Ego plus,奥迪 A1(进口),0,奥迪,\N
2,41,奥迪 A1 2012款  1.4TFSI 双离合 Ego,奥迪 A1(进口),0,奥迪,\N
3,41,奥迪 A1 2012款  1.4TFSI 双离合 Urban,奥迪 A1(进口),0,奥迪,\N
4,41,奥迪 A1 2013款  1.4TFSI 双离合 30TFSI 中国限量版 Ego plus,奥迪 A1(进口),0,奥迪,\N
5,41,奥迪 A1 2013款  1.4TFSI 双离合 30TFSI 中国限量版 Ego,奥迪 A1(进口),0,奥迪,\N
6,41,奥迪 A1 2013款 Sportback 1.4TFSI 双离合 30TFSI Ego plus,奥迪 A1(进口),0,奥迪,\N
7,41,奥迪 A1 2013款 Sportback 1.4TFSI 双离合 30TFSI Ego,奥迪 A1(进口),0,奥迪,\N
8,41,奥迪 A1 2013款 Sportback 1.4TFSI 双离合 30TFSI Urban,奥迪 A1(进口),0,奥迪,\N
9,42,奥迪 A3 2004款 Sportback 2.0T 手动 基本型,奥迪 A3,0,奥迪,\N假设表里面有数据
1,41,奥迪 A1 2012款  1.4TFSI 双离合 Ego plus,奥迪 A1(进口),0,奥迪,\N
2,41,奥迪 A1 2012款  1.4TFSI 双离合 Ego,奥迪 A1(进口),0,奥迪,\N
3,41,奥迪 A1 2012款  1.4TFSI 双离合 Urban,奥迪 A1(进口),0,奥迪,\N
4,41,奥迪 A1 2013款  1.4TFSI 双离合 30TFSI 中国限量版 Ego plus,奥迪 A1(进口),0,奥迪,\N
5,41,奥迪 A1 2013款  1.4TFSI 双离合 30TFSI 中国限量版 Ego,奥迪 A1(进口),0,奥迪,\N
6,41,奥迪 A1 2013款 Sportback 1.4TFSI 双离合 30TFSI Ego plus,奥迪 A1(进口),0,奥迪,\N第一列是自增列,并不算做数据比较重复中去!
存储过程新手,希望能备注详细讲解,谢谢了

解决方案 »

  1.   

    1:没看到需要更新的数据,可以重点显示下吗?
    2:你这个写存储过程,只要
    DELIMITER //
    CREATE PROCEDURE `XXXXX`()
    BEGIN 
        在这里写sql语句就可以了
    END
    //
    DELIMITER ;
      

  2.   

    别开玩笑啊!哥哥
    那个插入数据就是要更新批量插入的数据,这个只是一部分,帮写begin  ...end中的语句啊,其他的格式肯定会的啊!
      

  3.   


    insert into crm_car_style 
    (car_model_id ,
    car_style_name,
    car_model_name,
    is_deleted,
    car_brand_name,
    car_brand_id
    from insert_tb
    )
    select t1.*
    from  
    (
    select distinct
    car_model_id ,
    car_style_name,
    car_model_name,
    is_deleted,
    car_brand_name,
    car_brand_id
    from insert_tb
    )t1
    where not exists(select 1 from crm_car_style t2 where 
    t1.car_model_id = t2.car_model_id
    t1.car_style_name = t2.car_style_name
    t1.car_model_name = t2.car_model_name
    t1.is_deleted = t2.is_deleted
    t1.car_brand_name = t2.car_brand_name
    t1.car_brand_id = t2.car_brand_id
    )