mysql - 如何从 1 个数据库中选择数据,插入另一个数据库并插入新数据

标签 mysql sql database

我想从 1 个数据库中选择数据并将其插入到另一个数据库中。我还有一个工作代码:

INSERT INTO db2.users (steamid, name) SELECT steamid, nickname FROM db1.ttt_stats WHERE steamid NOT IN (SELECT steamid FROM db2.users)

现在我还想在此处将新数据(如组)插入到新数据库中:

INSERT INTO db2.users (steamid, name, group) SELECT steamid, nickname, 'newgroup' FROM db1.ttt_stats WHERE steamid NOT IN (SELECT steamid FROM db2.users)

但是总是有语法错误。我也用谷歌搜索了很多,这应该是工作代码,但它不工作......是的,第二个数据库中存在行“group”。

我也用 VALUES 尝试过,它也不起作用:

INSERT INTO db2.users (steamid, name, group) VALUES (SELECT steamid, nickname, 'newgroup' FROM db1.ttt_stats WHERE steamid NOT IN (SELECT steamid FROM db2.users))

最佳答案

尝试使用反引号...

INSERT INTO db2.users (steamid, name,`group`) SELECT steamid, nickname FROM db1.ttt_stats WHERE steamid NOT IN (SELECT steamid FROM db2.users)

看看reserved keywords在 MySQL 中,组就是其中之一。

关于mysql - 如何从 1 个数据库中选择数据,插入另一个数据库并插入新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28650397/

相关文章:

mysql select 同时跳过一些行数

database - API 平台 - 处理大数据库的分页

c++ - 如何在没有合并源代码的情况下调试 sqlite?

多家餐厅的sql数据库设计

php - 共享 Multi-Tenancy MySQL 数据库的可扩展性

Mysql Join 多表排除部分记录

php - 以与保存时相同的模式显示 mysql 结果

mysql - 如何在同一查询中过滤的 SQL 中查找值

sql - 检查另一个列值的检查约束

mysql - 仅当值不存在时返回行