2010-03-18 3 views
0

У меня есть таблица MySQL, которая определяет значения для определенного типа клиента.Вставить строки в таблицу MySQL при изменении одного значения

| CustomerType | Ключевое поле 1 | Ключевое поле 2 | Значение |

Каждый тип клиента имеет 10 значений, связанных с ним (на основе двух других ключевых полей).

Я создаю новый тип клиента (TypeB), который точно совпадает с другим типом клиента (TypeA). Я хочу вставить «TypeB» в качестве типа CustomerType, а затем просто скопировать значения из строк TypeA для остальных трех полей.

Есть ли инструкция вставки SQL, чтобы это произошло?

Somthing как:

insert into customers(customer_type, key1, key2, value) values 
"TypeB" union 
    select key1, key2, value 
    from customers 
    where customer_type = "TypeA" 

Jonathan Благодарения и

ответ

5

Вы можете выбрать любое постоянное значение из таблицы:

insert into customers(customer_type, key1, key2, value) 
    select "TypeB", key1, key2, value 
    from customers 
    where customer_type = "TypeA" 
0

С MySQL reference:

INSERT INTO tbl_temp2 (fld_id) 
SELECT tbl_temp1.fld_order_id 
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100; 

В основном именно то, что у вас есть, кроме того, что вы избавитесь от линии соединения «TypeB».

Смежные вопросы