gpt4 book ai didi

python - SQLite 插入与 2 个变量不同

转载 作者:行者123 更新时间:2023-12-04 07:31:52 27 4
gpt4 key购买 nike

我有一个带有以下类型数据的表的 SQLite 数据库:

CREATE TABLE tableName 
([A] int, [B] str, [C] str)
;

INSERT INTO tableName
([A], [B], [C])
VALUES
(1, AAA, AAA),
(2, AAA, BBB),
(3, ABC, DEF),
(4, BBB, AAA),
(5, CCC, DEF),
(6, DEF, EEE),
(7, DEF, DDD),
(8, DDD, BBB),
(9, EEE, AAA)
;
我需要做的是获取列 B 和 C,创建一个不重复的列表并自动增加唯一值的主键。它需要检查以确保条目不存在 - 所以第二个表将是:
1 - AAA
2 - BBB
3 - ABC
4 - DEF
5 - CCC
6 - EEE
7 - DDD
我认为它应该是这样的:
con = sqlite3.connect('path//DBv15.db')
cur = con.cursor()
cur.execute("INSERT INTO TableB(E) SELECT DISTINCT A.A A.B FROM TableA A;")
但我很确定这是错误的。它需要在添加新行之前扫描表中的重复项,但我被卡住了。我正在使用 python 程序来加载和修改我的表。

最佳答案

使用 UNION提取 2 列的值。

INSERT INTO TableB(E) 
SELECT B FROM TableA
UNION
SELECT C FROM TableA
UNION返回不同的值,因此不需要 DISTINCT .

关于python - SQLite 插入与 2 个变量不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67898568/

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