Вставить строки в таблицу MySQL при изменении одного значения - PullRequest
0 голосов
/ 19 марта 2010

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

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

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

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

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

Что-то вроде:

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

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

Ответы [ 2 ]

6 голосов
/ 19 марта 2010

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

insert into customers(customer_type, key1, key2, value)
    select "TypeB", key1, key2, value
    from customers
    where customer_type = "TypeA"
0 голосов
/ 19 марта 2010

Из MySQL ссылка :

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

По сути, именно то, что у вас есть, кроме избавления от строки 'TypeB' union.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...