我想要执行insert查询,该查询具有到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我正在尝试将只知道Users表中的用户I的订单插入到订单中。它如下所示:
订单:
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发布于 2017-06-10 12:45:40
如果您的id是,则不会在订单表中自动递增。
INSERT INTO orders ( id,userid, timestamp)
SELECT o.userid , o.timestamp FROM users u INNER JOIN orders o ON o.userid = u.id如果您的id是,订单表中的会自动递增。
INSERT INTO orders ( userid, timestamp)
SELECT o.userid , o.timestamp FROM users u INNER JOIN orders o ON o.userid = u.id发布于 2017-06-10 12:38:36
如果Orders.Id是惟一的,那么您的SQL查询将失败。您正在尝试将一个或多个现有记录插入Orders表,因此它将是Id的重复项。我不确定你想要达到什么目的,但这应该是可行的:
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?在这种情况下,您不能连接这两个组件。
https://stackoverflow.com/questions/44469503
复制相似问题