Python - nový záznam se neuloží do databáze MySQL (INSERT, InnoDB)

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

Python - nový záznam se neuloží do…

23.10.2019 napsal huntzberger

Vyřešeno Python MySQL - new record dont save in table (Insert, InnoDB)
Používám běžně operace s MySQL databází přes Python a teď mi nefunguje vkládání záznamů do databázové tabulky přes INSERT ačkoliv je spojení OK a skript nevyhodí žádnou chybu. Používám teď InnoDB, předím MyISAM. Nemůže být problém v tom?


with con:
    cur.execute("INSERT INTO `tabulka`(`sloupec1`, `sloupec2`, `sloupec3`) VALUES ('%s', '%s', '%s')" % (promenna1, promennna2, promenna3))
    con.close()
Nejlépe hodnocení uživatelé
Hanz

Počet UP: 4855

React: 211

Rusty

Počet UP: 2250

React: 94

OL3G

Počet UP: 1567

React: 59

SYSTEM

Počet UP: 403

React: 23

Strosmajer

Počet UP: 460

React: 22

Oxytocin

Počet UP: 276

React: 15

Hyacint

Počet UP: 17

React: 10

RE: Python - nový záznam se…

29.10.2019 odpověděl Hanz

Zkontrolováno

U MySQL databází typu InnoDB je třeba v Pythonu volat commit(), takže takto:


with con:
    cur.execute("INSERT INTO `tabulka`(`sloupec1`, `sloupec2`, `sloupec3`) VALUES ('%s', '%s', '%s')" % (promenna1, promennna2, promenna3))
    con.close()
    con.commit() 
Více v článku Python 2.díl: Práce s databází MySQL (SELECT, UPDATE, INSERT)
Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace