mysql - SQL Insert Into with Inner Join

标签 mysql sql inner-join

我想创建我的插入查询,它有一个到 Users 表的内部连接。

表格的例子是这样的:

用户:

id | fullName | preferredName | email              | mobile   | password
1  | Pan Lim  |  Lim          | limpan45@gmail.com | 64557812 | passone
2  | Gong My  |  Gong         | gong45@gmail.com   | 61345671 | passtwo

订单:

id | userid(Foreign key of "id" from Users | timestamp
1  |               1                       | 2016-06-10 11:45:31

我正在尝试插入与只知道用户表中的用户 ID 相关的订单。显示如下:

订单:

id | userid(Foreign key of "id" from Users | timestamp
1  |               1                       | 2016-06-10 11:45:31
2  |               2                       | 2016-08-14 12:45:31

但是当我测试我的 SQL 查询时,这个查询有错误。

INSERT INTO Orders (id, userid, timestamp) 
SELECT Orders.id, Orders.userid, Orders.timestamp FROM Users INNER JOIN Orders ON  Orders.id = Users.id

最佳答案

如果您的 id 在 Orders 表中不是自动递增

INSERT INTO orders ( id,userid, timestamp) 
SELECT o.userid , o.timestamp FROM users u INNER JOIN orders o ON  o.userid = u.id

如果您的 id 在 Orders 表中是自动递增

INSERT INTO orders ( userid, timestamp) 
SELECT o.userid , o.timestamp FROM users u INNER JOIN orders o ON  o.userid = u.id

关于mysql - SQL Insert Into with Inner Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469503/

相关文章:

c# - 如果数据库中已存在值,如何显示消息?

mysql - 在 MySQL 中执行插入后在 Ruby 中获取受影响的行?

php - 检索嵌套 CMS 站点地图 - SQL 查询?

mysql - 来自 SELECT 语句的 SQL UPDATE 语句?

sql - 为什么保存数据会导致无效字段“ERROR_CODE”的无效值?

sql-server - SQL查询在 ')'附近给出了不正确的语法-在INNER JOIN中使用CAST

mysql - 当我将 TEXT 列转换为 MEDIUMTEXT 列时会发生什么?

mysql - SQL 更新 - 不工作

mysql - 如何优化需要查找要连接的列的两个表的 JOIN?

mysql - 将满足其他几个列条件的列分组在一起