sql python Введенное в таблицу значение задается первым, второе - нулем - PullRequest
0 голосов
/ 16 ноября 2018

я создаю таблицу

def sql_table_strategy():
    conn = sqlite3.connect('strategy.db', check_same_thread=False)
    cursor = conn.cursor()
    cursor.execute("CREATE TABLE IF NOT EXISTS strategy"
                   "(stra TEXT NOT NULL,"
                   "probability TEXT NOT NULL,"
                   " chat_id INTEGER UNIQUE)")
    conn.commit()
    cursor.close()
    conn.close()

интегрируемая стратегия

def strategy_add(stra, ChatID):
    conn = sqlite3.connect('strategy.db', check_same_thread=False)
    cursor = conn.cursor()
    val = (stra, ChatID)
    sql = "INSERT OR IGNORE INTO strategy (stra,chat_id) VALUES (?,?)"
    cursor.execute(sql, val)
    conn.commit()
    cursor.close()
    conn.close()

добавляет вероятность

def pr_add(probability, ChatID):
    conn = sqlite3.connect('strategy.db', check_same_thread=False)
    cursor = conn.cursor()
    val = (probability,ChatID)
    sql = "INSERT OR IGNORE INTO strategy (probability,chat_id) VALUES (?,?)"
    cursor.execute(sql, val)
    conn.close()
    conn.close()

, когда я добавляю первую стратегию, а затем добавляю вероятность, но вВероятность столбцов равна нулю

1 Ответ

0 голосов
/ 16 ноября 2018

Решение вашей проблемы.

def pr_add(probability, ChatID):
    conn = sqlite3.connect('strategy.db', check_same_thread=False)
    cursor = conn.cursor()
    val = (probability,ChatID)
    sql = "UPDATE strategy SET probability = ? WHERE chat_id = ?"   --Change is here
    cursor.execute(sql, val)
    conn.close()
    conn.close()
...