Seite 1 von 1

Einfaches Tutorial Skript spinnt, Warning: Unknown table

Verfasst: Samstag 1. Februar 2014, 14:47
von Sinnentlehrt
Hallo Leute,

dachte ja da kann ja gar nichts schiefgehen aber so irrt man sich.

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

import MySQLdb as mdb

con = mdb.connect('localhost', 'user', 'passwort', 'testdb')

with con:
    
    cur = con.cursor()
    cur.execute("DROP TABLE IF EXISTS Writers")
    cur.execute("CREATE TABLE Writers(Id INT PRIMARY KEY AUTO_INCREMENT, \
                 Name VARCHAR(25))")
    cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")
Diese kleine Skript gibt in der IDLE aus.

Code: Alles auswählen

Warning (from warnings module):
  File "/home/gutschy/.gimp-2.8/plug-ins/test2_mysql_connect.py", line 11
    cur.execute("DROP TABLE IF EXISTS Writers")
Warning: Unknown table 'Writers'
Also eigentlich ist doch alles klar, oder? Lösche die Tabelle falls eine da ist, ansonsten mach halt eine neu.
Was kann denn da schon jetzt schiefgehen? Das connecten klappt auf jeden fall schon mal, das habe ich schon
testen können.

Gruss,

Sinnie

Nachtrag:

Die Tabelle Writers wird vom Skript sogar angelegt.

Code: Alles auswählen

mysql> SHOW TABLES;
+-------------------+
| Tables_in_testdb |
+-------------------+
| Writers           |
+-------------------+
1 rows in set (0.00 sec)
Nachtrag2:
Und natürlich mit Inhalt :? Aber warum dann die Warnung? :K

Re: Einfaches Tutorial Skript spinnt, Warning: Unknown table

Verfasst: Montag 3. Februar 2014, 12:34
von noisefloor
Hallo,

eine Warnung ist eine *Mitteilung* an dich, sonst nix. Das Python-Modul teilt dir damit lediglich mit, dass es die Tabelle nicht gibt und läuft dann weiter.

Es kann ja durchaus Anwendungsfälle geben, wo man wissen will, ob was gelöscht wurde oder nicht. Ob man die Warning im MySQLdb-Modul unterdrücken kann müsstest du mal in der Doku nachlesen.

Gruß, noisefloor

Re: Einfaches Tutorial Skript spinnt, Warning: Unknown table

Verfasst: Mittwoch 5. Februar 2014, 22:41
von Sinnentlehrt
Ich denke das ich die Fehlermeldung in Python umlenken werde. Dieses str out ding, glaub ich.

Re: Einfaches Tutorial Skript spinnt, Warning: Unknown table

Verfasst: Mittwoch 5. Februar 2014, 23:46
von BlackJack
@Sinnentlehrt: Und warum liest Du nicht die Dokumentation und machst es richtig? Da steht dass das `warnings`-Modul verwendet wird. Und in der Dokumentation zu *dem* Modul steht wie man Warnungen entweder Unterdrücken oder als Ausnahmen auslösen lassen kann. Das lässt sich sogar ziemlich fein steuern.