SQLite3 выдаёт ошибку при записи значения. В чём причина?

Когда я записываю значение с тремя точками выдаёт ошибку!

вот код
import sqlite3

db = sqlite3.connect("client.db")
cursor = db.cursor()

cursor.execute("""CREATE TABLE IF NOT EXISTS ip_adress(
    ip STRING
)""")

db.commit()

cursor.execute("SELECT ip FROM ip_adress WHERE rowid = 1")
res = cursor.fetchall()

if res == [(None,)] or [(''),]:
    z = input("отсутствует ip адрез сервера:")
    cursor.execute("UPDATE ip_adress SET ip = "+z+" WHERE rowid = 1")
    db.commit()
  • Вопрос задан
  • 345 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Точки имеют специальное значение в SQL запросах. Никто не делает SET ip = "+z+" WHERE, и даже format не делают, и f строки тоже не используют

Читайте хоть документацию как работать с sql, наугад зачем
https://www.sqlitetutorial.net/sqlite-python/update/

Это тоже
if res == [(None,)] or [(''),]:

cursor.execute("UPDATE ip_adress SET ip = ? where rowid = 1", (z,))
db.commit()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yupiter7575
@yupiter7575
Python программист
Скиньте код ошибки. Вообще тут сразу видно что когда вы запускаете код вы создаете таблицу. Возможно она уже создана и выходит ошибка названия. Попробуйте убрать строку с create table
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы