在更改一个值时将行插入MySQL表

Jon*_*han 0 mysql insert

我有一个MySQL表,它定义了特定客户类型的值.

| CustomerType | 关键领域1 | 关键领域2 | 价值|

每个客户类型都有10个与之关联的值(基于其他两个关键字段).

我正在创建一个与另一个客户类型(TypeA)完全相同的新客户类型(TypeB).我想插入"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"
Run Code Online (Sandbox Code Playgroud)

谢谢 - 乔纳森

Pet*_*ang 6

您可以从表中选择任何常量值:

insert into customers(customer_type, key1, key2, value)
    select "TypeB", key1, key2, value
    from customers
    where customer_type = "TypeA"
Run Code Online (Sandbox Code Playgroud)