INSERT INTO table2
SELECT * FROM table1;
以上是将所有内容从 table1 复制到 table2 的简单方法。
但是我有几个问题,
- 两个表在两个不同的数据库中
- 我不想复制所有内容,只复制表 1 中存在的额外记录
例如。
Table 1
-----------
id | name | age
1 | Mike | 30
2 | Ross | 28
Table 2
-----------
id | name | age
1 | Mike | 30
现在我只想将 ID 为 2 的行复制到表 2 中,因为第 1 行已经存在。
附言有没有一种方法可以修改年龄(例如,将年龄乘以 1.5)以更改表 2 中的记录?
最佳答案
以你的例子为例:
INSERT INTO Table2 (id, name,age)
SELECT Table1.Id,Table1.name,Table1.age FROM Table1
LEFT JOIN Table2 ON (Table1.id=Table2.id)
WHERE Table2.id IS NULL
如果您需要在插入期间修改age
字段,只需在SELECT 列表中将age
更改为age*1.5
。
关于mysql - 如何将db1表1中的记录复制到db2表2中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21179962/