Не могу ВСТАВИТЬ В таблицу PostgreSQL, но могу ОБНОВИТЬ ⇐ Python
Не могу ВСТАВИТЬ В таблицу PostgreSQL, но могу ОБНОВИТЬ
Я пытаюсь вставить новую запись в таблицу PostgreSQL, но не знаю, почему мне это не удается.
Синтаксис функции следующий:
def InsertIP(ipx, stac, macx): {ipx = '172.24.12.35', stac = 'ПРОДАЖИ', macx = '080027342A17' например} hojenow = datetime.now() hoje = hojenow.strftime("%Y-%m-%d %H:%M:%S") bc = con.cursor() sql = "ВСТАВИТЬ В ip_comp (nome_comp, mac, ip_data, ip) ЗНАЧЕНИЯ (%s, %s, %s, %s) ВОЗВРАЩАЕМ id_ip" данные = [stac, macx, hoje, ipx] bc.execute (sql, данные) окончательный = ул(bclogon.fetchone()[0]) кон.коммит() вернуть окончательный [0] Результатом этой функции является следующее исключение:
Имя ошибки «ip» не определено
Приведенная выше таблица выглядит следующим образом:
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ weblogon.ip_comp ( id_ip целое число NOT NULL ПО УМОЛЧАНИЮ nextval('ip_comp_id_ip_seq'::regclass), ip-символ варьируется (15) COLLATE pg_catalog."default", переменный символ name_comp(30) COLLATE pg_catalog."default", временная метка ip_data без часового пояса, mac-символ варьируется (20) COLLATE pg_catalog."default", ОГРАНИЧЕНИЕ ip_comp_pkey ПЕРВИЧНЫЙ КЛЮЧ (id_ip), ОГРАНИЧЕНИЕ ip_comp_ip_key УНИКАЛЬНЫЙ (ip) ) С ( ОИДЫ = ЛОЖЬ ) ТАБЛИЧНОЕ ПРОСТРАНСТВО pg_default; PS. Даже при удалении ограничения UNIQUE из столбца ip исключение сохраняется. Операция UPDATE выполняется нормально.
sql = "ОБНОВЛЕНИЕ ip_comp SET nome_comp=%s, mac=%s, ip_data=%s WHERE ip=%s ВОЗВРАЩЕНИЕ id_ip" данные = [stac,macx,hoje,ipx] bclogon.execute(sql,данные)
Я пытаюсь вставить новую запись в таблицу PostgreSQL, но не знаю, почему мне это не удается.
Синтаксис функции следующий:
def InsertIP(ipx, stac, macx): {ipx = '172.24.12.35', stac = 'ПРОДАЖИ', macx = '080027342A17' например} hojenow = datetime.now() hoje = hojenow.strftime("%Y-%m-%d %H:%M:%S") bc = con.cursor() sql = "ВСТАВИТЬ В ip_comp (nome_comp, mac, ip_data, ip) ЗНАЧЕНИЯ (%s, %s, %s, %s) ВОЗВРАЩАЕМ id_ip" данные = [stac, macx, hoje, ipx] bc.execute (sql, данные) окончательный = ул(bclogon.fetchone()[0]) кон.коммит() вернуть окончательный [0] Результатом этой функции является следующее исключение:
Имя ошибки «ip» не определено
Приведенная выше таблица выглядит следующим образом:
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ weblogon.ip_comp ( id_ip целое число NOT NULL ПО УМОЛЧАНИЮ nextval('ip_comp_id_ip_seq'::regclass), ip-символ варьируется (15) COLLATE pg_catalog."default", переменный символ name_comp(30) COLLATE pg_catalog."default", временная метка ip_data без часового пояса, mac-символ варьируется (20) COLLATE pg_catalog."default", ОГРАНИЧЕНИЕ ip_comp_pkey ПЕРВИЧНЫЙ КЛЮЧ (id_ip), ОГРАНИЧЕНИЕ ip_comp_ip_key УНИКАЛЬНЫЙ (ip) ) С ( ОИДЫ = ЛОЖЬ ) ТАБЛИЧНОЕ ПРОСТРАНСТВО pg_default; PS. Даже при удалении ограничения UNIQUE из столбца ip исключение сохраняется. Операция UPDATE выполняется нормально.
sql = "ОБНОВЛЕНИЕ ip_comp SET nome_comp=%s, mac=%s, ip_data=%s WHERE ip=%s ВОЗВРАЩЕНИЕ id_ip" данные = [stac,macx,hoje,ipx] bclogon.execute(sql,данные)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как правильно вставить значения Pandas Nat DateTime в мою таблицу PostgreSQL
Anonymous » » в форуме Python - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Невозможно вставить или обновить данные с помощью Python в PostgreSQL.
Anonymous » » в форуме Python - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-