繁体   English   中英

SQLite 插入与 2 个变量不同

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM