Почему первый столбец отображается как слово «данные» при вставке столбцов в PostgreSQL с помощью psycopg2? - PullRequest
0 голосов
/ 21 мая 2019

При добавлении столбцов в PostgreSQL с помощью Python-модуля psycopg2, почему имя первого столбца всегда отображается как слово «данные»? Я пытаюсь лучше понять это для себя и могу предоставить код по мере необходимости.

 data | Fieldtest1 | Fieldtest2 | Fieldtest3 | Fieldtest4 | Fieldtest5 | Fieldtest6
------+------------+------------+------------+------------+------------+------------
(0 rows)

Код:

def add_cols(tablename, colnames, data):
    conn = psycopg2.connect("dbname=test user=test_user password=test_password host=localhost port=5432")
    cursor = conn.cursor()
    ###Create a new table
    cursor.execute("CREATE TABLE IF NOT EXISTS \""+tablename+"\" (data text);")
    ###Layer the new table with column names
    for colname in colnames:
        cursor.execute("ALTER TABLE IF EXISTS "+tablename+" ADD IF NOT EXISTS \""+colname+"\" VARCHAR;")

1 Ответ

1 голос
/ 23 мая 2019

потому что вы указываете это здесь (в скобках):

cursor.execute("CREATE TABLE IF NOT EXISTS \""+tablename+"\" (data text);")
...