首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Insert Into with Inner

SQL Insert Into with Inner
EN

Stack Overflow用户
提问于 2017-06-10 12:25:35
回答 2查看 98.6K关注 0票数 12

我想要执行insert查询,该查询具有到Users表的内部连接。

表的示例如下所示:

用户:

代码语言:javascript
复制
id | fullName | preferredName | email              | mobile   | password
1  | Pan Lim  |  Lim          | limpan45@gmail.com | 64557812 | passone
2  | Gong My  |  Gong         | gong45@gmail.com   | 61345671 | passtwo

订单:

代码语言:javascript
复制
id | userid(Foreign key of "id" from Users | timestamp
1  |               1                       | 2016-06-10 11:45:31

我正在尝试将只知道Users表中的用户I的订单插入到订单中。它如下所示:

订单:

代码语言:javascript
复制
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查询时,它在这个查询上有错误。

代码语言:javascript
复制
INSERT INTO Orders (id, userid, timestamp) 
SELECT Orders.id, Orders.userid, Orders.timestamp FROM Users INNER JOIN Orders ON  Orders.id = Users.id
EN

回答 2

Stack Overflow用户

发布于 2017-06-10 12:45:40

如果您的id是,则不会在订单表中自动递增

代码语言:javascript
复制
INSERT INTO orders ( id,userid, timestamp) 
SELECT o.userid , o.timestamp FROM users u INNER JOIN orders o ON  o.userid = u.id

如果您的id是,订单表中的会自动递增。

代码语言:javascript
复制
INSERT INTO orders ( userid, timestamp) 
SELECT o.userid , o.timestamp FROM users u INNER JOIN orders o ON  o.userid = u.id
票数 24
EN

Stack Overflow用户

发布于 2017-06-10 12:38:36

如果Orders.Id是惟一的,那么您的SQL查询将失败。您正在尝试将一个或多个现有记录插入Orders表,因此它将是Id的重复项。我不确定你想要达到什么目的,但这应该是可行的:

代码语言:javascript
复制
INSERT INTO Orders ( userid, timestamp) 
SELECT Orders.userid, Orders.timestamp FROM Users INNER JOIN Orders ON  Orders.id = Users.id

编辑: Orders.Id应该是orders中记录的唯一id,Users.Id应该是user表中记录的唯一id?在这种情况下,您不能连接这两个组件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44469503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档