Psycopg2 使用 where 条件从另一个 table 插入两个值到 table

Psycopg2 Insert into table two values from another table with a where conditional

对于这个简单的问题表示歉意,我是 PostgreSQL 和 Psycopg2 的新手。我在 table 中有两列,我试图根据 where 条件使用来自其他两个 table 的值进行填充。示例代码如下:

    cur = con.cursor()

    db_insert = """INSERT INTO "Database"."TABLE_ONE"
    ("LT_ID_ONE", "LT_ID_TWO")  
    VALUES(
    (SELECT "LT_ID_ONE" FROM "Database"."TABLE_TWO" WHERE "LT_NUM_ONE" =%s), 
    (SELECT "LT_ID_TWO" FROM "Database"."TABLE_THREE" WHERE "LT_NUM_TWO" =%s)
    );"""
    insert_values = (df1.iloc[0, 0], df1.iloc[0, 1])

    cur.execute(db_insert, insert_values)

当运行这个命令时我收到以下错误:

psycopg2.errors.NotNullViolation: null value in column "LOT_ID_ONE" violates not-null constraint
DETAIL:  Failing row contains (null, null).

如有任何帮助,我们将不胜感激。

看起来好像我的错误是在 insert_values 变量的元素顺序上。一旦我交换了它们,它就起作用了。所以我的 SQL 代码是正确的。