mysql - 如何将db1表1中的记录复制到db2表2中

标签 mysql insert copy

INSERT INTO table2
SELECT * FROM table1;

以上是将所有内容从 table1 复制到 table2 的简单方法。

但是我有几个问题,

  1. 两个表在两个不同的数据库中
  2. 我不想复制所有内容,只复制表 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/

相关文章:

java - 无法在listview java中显示来自php mysql的数据

mysql - 更新查询需要太长时间才能更新mysql中的大量数据

java - 数组列表插入方法

copy - 使用 gradle 将 maven 存储库中的 tar.gz 文件解压到构建目录中

python - sql语句中的pyodbc路径不起作用

ruby 将带有子文件夹的文件夹复制到目标位置

mysql - SQL 在按 column1 分组后更新 column3 并比较 column2 中的值

mysql - 处理 MySQL 中的动态缺失列

Mysql "safe"合并

php - 当用户点击链接时插入 click_url、时间戳和用户名