mySql copy rows into same table with key value changed (not overwriting existing)

后端 未结 3 806
花落未央
花落未央 2021-01-04 04:28

How do I copy a selection of rows from a mySql table and insert with just the key value changed. Can I do a select and insert in same query?

To be precise, what I wa

相关标签:
3条回答
  • 2021-01-04 04:55
    INSERT INTO your_table (ID, ISO3, TEXT) 
    SELECT ID, 'JPN', TEXT
    FROM your_table 
    WHERE ID IN ( list_of_ id's )
    

    If you want to change a value in one cell, just hard-type the value instead of selecting from table (like I did with 'JPN').

    0 讨论(0)
  • 2021-01-04 05:05

    If your key is auto_increment, and you have a table structure like primary_key | col1 | col2 | col3 then you can do something along the lines of

    INSERT INTO table (
       col1, col2, col3
    ) SELECT col1, col2, col3
    FROM table
    WHERE primary_key IN(1, 2, 45, 54, 774, 4434 /* etc */);
    
    0 讨论(0)
  • 2021-01-04 05:05

    you can do

    insert into your_table (SELECT field1, field2,(changed_value_for_field3) as field3 FROM your_table where your_condition);
    
    0 讨论(0)
提交回复
热议问题