sql >> Databáze >  >> RDS >> Mysql

Vkládání proměnných MySQL pomocí Pythonu, nefunguje

Příkaz SQL a parametry musíte předat jako samostatné argumenty:

cursor.execute(loggit[0], loggit[1])

nebo použijte syntaxi argumentu proměnné (splat, * ) :

cursor.execute(*loggit)

Vaše verze se pokouší předat n-tici obsahující příkaz SQL a parametry vazby jako jediný argument, kde .execute() funkce očekává, že najde pouze řetězec příkazu SQL.

Obvyklejší je ponechat tyto dva oddělené a možná uložit pouze příkaz SQL do proměnné:

loggit = """
        INSERT INTO logger (logged_info, dummy)
        VALUES
            (%s, %s)
    """
cursor.execute(loggit, (bob, dummyVar))



  1. Formátování výsledků dotazu MySQL, jako by byl spuštěn z konzole

  2. Jak přidat pozice řádků v SQL pomocí RANK()

  3. Chyba s PreparedStatement

  4. Mysql Select Rows Kde dva sloupce nemají stejnou hodnotu