這個需求很簡單,就是從一個表裡,讀取一條數據,然後將數據修改後插入同一個表。
表(假設兩個表結構一樣)
INSERT INTO 新表
SELECT * FROM 舊表
復制舊表的數據到新表(假設兩個表結構不一樣)
INSERT INTO 新表(字段1,字段2,.......)
SELECT 字段1,字段2,...... FROM 舊表
只用sql語句即可完成
代碼如下:
代碼如下 復制代碼INSERT INTO your_table (ID, ISO3, TEXT)
VALUES
SELECT ID, 'JPN', TEXT FROM your_table WHERE ID IN ( list_of_ id's )
注意示例代碼中的 ‘JPN’ 這是一個常量,如果想改變某個字段的值,可直接將常量寫在select中。
補充:
代碼如下 復制代碼MySQL復制表結構及數據到新表
CREATE TABLE 新表 SELECT * FROM 舊表,實例如下:
CREATE TABLE new_table SELECT * FROM old_table
執行後的Messages:
(465 row(s) affected)
Execution Time : 00:00:00:359
Transfer Time : 00:00:01:125
Total Time : 00:00:01:484
465 row(s)說明復制了數據過去
只復制表結構到新表
CREATE TABLE 新表 SELECT * FROM 舊表 WHERE 1=2
即:讓WHERE條件不成立,也可改成5=6等,實例如下:
CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2
執行後的Messages:
(0 row(s) affected)
Execution Time : 00:00:00:641
Transfer Time : 00:00:01:125
Total Time : 00:00:01:766
0 row(s)說明沒有復制數據過去