Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 10, 2019 15:25:54

LavA
Зарегистрирован: 2019-04-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

psycopg2 работа с БД

Прошу помощи
начал разбираться с БД, пытаюсь удалить таблицу из БД

 def delete_bd (bddel):
    con = None
    bddel = bddel
    try:
        con = psycopg2.connect(user='postgres', host='127.0.0.1', password='1')
        cursor = con.cursor()
        cursor.execute("SELECT datname FROM pg_database WHERE " + "datistemplate = false;")
        fetch = cursor.fetchall()
        dblist = [fetch[i][0] for i in range(len(fetch))]
        print('wwww', dblist)
        cursor.execute("DROP TABLE %s;" % bddel")
    except psycopg2.DatabaseError as e:
        print("ErrorZZ ", e)
    con.close()
bddel = 'w5'
delete_bd(bddel)
При этом fetchall() все видит:
wwww ‘postgres’, ‘s1’, ‘w2’, ‘w4’, ‘w3’, ‘w5’, ‘w6’
но выдает ошибку:
ErrorZZ table “w5” does not exist
Вроде простая задача - не могу разобраться где ошибка. СПС

Отредактировано FishHook (Апрель 10, 2019 15:29:30)

Офлайн

#2 Апрель 11, 2019 15:11:04

LavA
Зарегистрирован: 2019-04-10
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

psycopg2 работа с БД

Извиняюсь, это мертвый форум или здесь кто то бывает?

Офлайн

#3 Апрель 11, 2019 17:36:54

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

psycopg2 работа с БД

LavA

1. Зайдите в консоль посгреса и выполните команду листинга таблиц. Результат покажите сюда.
2. Выполните запрос из питона БЕЗ строковых подставлений, просто “cursor.execute(”DROP TABLE w5"). Результат предъявите.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version