[英]SQLite Insert Distinct from 2 variables
我有一个 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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.