Python MySQL - chyba pymysql.err.InterfaceError (0)

Python MySQL - chyba pymysql.err.InterfaceError (0)

Dobrý den, při použití této kontrukce v pythonu s databází mysql

con = mysql.connect(***)
with con:
cur = con.cursor()
cur.execute("SELECT COUNT(id) FROM table WHERE status='0' LIMIT 20")

row = cur.fetchone()
while row is not None:
print(row[0])
id = row[0]
row = cur.fetchone()
cur.close()
con.close()


dostávám chybu níže, ačkoliv kód dále pokračuje a má se vykonat i zbytek. Kód nahoře se totiž provádí jen pro kontrolu, zda je něco ve frontě ke zpracování, pokud ano (COUNT(id) > 0), tak program má jet dál.

Traceback (most recent call last):
File "/var/xxx.py", line 58, in
checkQueue()
File "/var/xxx.py", line 56, in checkQueue
return False
File "/usr/lib/python3.4/site-packages/PyMySQL-0.7.11-py3.4.egg/pymysql/connections.py", line 844, in __exit__
self.commit()
File "/usr/lib/python3.4/site-packages/PyMySQL-0.7.11-py3.4.egg/pymysql/connections.py", line 787, in commit
self._execute_command(COMMAND.COM_QUERY, "COMMIT")
File "/usr/lib/python3.4/site-packages/PyMySQL-0.7.11-py3.4.egg/pymysql/connections.py", line 1071, in _execute_command
raise err.InterfaceError("(0, '')")
pymysql.err.InterfaceError: (0, '')


ODPOVĚĎ


ahoj co třeba zkusit ten kód bez con.close(), když s databází pracuješ i dále v kódu pythonu
con = mysql.connect(***)
with con:
cur = con.cursor()
cur.execute("SELECT COUNT(id) FROM table WHERE status='0' LIMIT 20")
row = cur.fetchone()
while row is not None:
print(row[0])
id = row[0]
row = cur.fetchone()
cur.close()



no a pokud chceš jen vědět, zda je něco ve frontě, tak ti stačí jen provést jeden výběr dat bez cyklu
con = mysql.connect(***)
with con:
cur = con.cursor()
cur.execute("SELECT COUNT(id) FROM table WHERE status='0' LIMIT 20")
row = cur.fetchone()
id = row[0]
cur.close()

if (id > 0):
print("Ve fronte je ", id)
return True
else:
print("Ve fronte nic neni ", id)
return False

Související obsah

programovani

python

mysql

databaze

Komentáře

Vaše reakce na Python MySQL - chyba pymysql.err.InterfaceError (0)

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.