gpt4 book ai didi

sql - 在 SQL 中复制一行?

转载 作者:行者123 更新时间:2023-12-03 08:37:50 25 4
gpt4 key购买 nike

好的,我有一个包含两列、userID 和 courseID 的表。它用于向用户分配培训类(class)。它看起来像这样:

userid   courseid
0 1
0 3
0 6
1 1
1 4
1 5

所以用户 0 被分配到类(class) 1,3,6,用户 1 被分配到 1, 4 5

无论如何,我需要获取分配给 6 的每个用户并创建一个具有该用户 ID 和类(class) ID 11 的新行,基本上将当前分配给 6 的每个用户也分配给 11

出于某种原因(我没有创建这个数据库)两行都被标记为主键,我尝试过的一些语句因此引发了错误,这到底是怎么回事?

哦,也许是因为有一些用户已经被分配到 11,所以它可能被这些用户所窒息?

请帮忙

最佳答案

Insert Into TableName (userID, courseID)
Select userID, 11 From TableName Where courseID=6;

另外,我对您的评论感到有些困惑,即两者都是主键。两行都可以是主键的一部分,也可以都是唯一键,但不能都是主键。就错误而言,这可能是因为查询试图插入与现有行重复的行。要消除这种可能性,您可以这样做:
Insert Into TableName (userID, courseID)
Select userID, 11 From TableName Where courseID=6
AND (userID not in (Select userID From TableName Where courseID=11))

根据您的数据库,这也可以工作:
INSERT OR IGNORE INTO TableName (userID, courseID)
SELECT userID, 11 FROM TableName WHERE courseID=6;

无论如何,你去吧。

关于sql - 在 SQL 中复制一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/615143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com