Die Suche ergab 8 Treffer

von HugoB
Freitag 20. Mai 2011, 09:03
Forum: Datenbankprogrammierung mit Python
Thema: MySQL Abfrage mit SELECT ... WHERE ... IN ()
Antworten: 5
Zugriffe: 2416

Re: MySQL Abfrage mit SELECT ... WHERE ... IN ()

Du könntest auch die komplette erste Query als Subquery in den `IN` Teil der zweiten einbauen. Damit überlässt Du dem RDBMS die Optimierung und sparst Dir den ganzen Aufwand.

Stimmt. Das ist eine super Idee. Vielen Dank. Und gleich noch Code eingespart. :-)


So hats funktioniert:

cursor ...
von HugoB
Freitag 20. Mai 2011, 08:54
Forum: Datenbankprogrammierung mit Python
Thema: MySQL Abfrage mit SELECT ... WHERE ... IN ()
Antworten: 5
Zugriffe: 2416

Re: MySQL Abfrage mit SELECT ... WHERE ... IN ()

@HugoB: Du musst die SQL-Anweisung dynamisch erstellen, so das für jedes Argument aus der Liste ein Platzhalter da steht. Also bei zwei IDs zum Beispiel "… IN (%s, %s)".

Ernsthaft? Das scheint mir sehr umständlich. Ich hatte gehofft, daß mir Python hier die Arbeit abnimmt und ich nicht erst alles ...
von HugoB
Freitag 20. Mai 2011, 07:58
Forum: Datenbankprogrammierung mit Python
Thema: MySQL Abfrage mit SELECT ... WHERE ... IN ()
Antworten: 5
Zugriffe: 2416

MySQL Abfrage mit SELECT ... WHERE ... IN ()

Hallo,

ich hole mir aus einer MySQL Datenbank eine Liste mit 1-n IDs:

cursor.execute ("""SELECT DocType_ID FROM DocType WHERE DocType_Token = %s""", (TypeShort))
TypeIDs = cursor.fetchall()

Anschließend habe ich z. B.
TypeIDs = ((1L,), (3L,))

Jetzt muß ich in einer zweiten Abfrage die Anzahl ...
von HugoB
Freitag 29. April 2011, 10:34
Forum: Datenbankprogrammierung mit Python
Thema: Datum in MySQL DB schreiben
Antworten: 2
Zugriffe: 1398

Datum in MySQL DB schreiben

Hallo,

ich bin noch recht neue in Sachen Python. Mein aktuelles großes Problem:

Ich lese aus einer CSV Datei zwei Datumswerte (beide im Format DD.MM.YYY) und will sie in ein Date- und ein Timestamp-Feld einer MySQL Db schreiben.

Mein Versuch:

.....
File = csv.reader(open('I:\test.csv', 'rb ...
von HugoB
Dienstag 29. März 2011, 15:05
Forum: Datenbankprogrammierung mit Python
Thema: executemany und ON DUPLICATE KEY UPDATE Problem
Antworten: 1
Zugriffe: 1494

Re: executemany und ON DUPLICATE KEY UPDATE Problem

Ich habe den Fehler selbst gefunden. Es ist ein Fehler in dem MySQLdb das ich installiert hatte. Ich habe mir aus dem CentOS 5 Testing Repository (http://dev.centos.org/centos/5/testing/x86_64/RPMS/) die 1.2.1 geholt und eingespielt - und sofort ging es.
von HugoB
Dienstag 29. März 2011, 14:51
Forum: Datenbankprogrammierung mit Python
Thema: executemany und ON DUPLICATE KEY UPDATE Problem
Antworten: 1
Zugriffe: 1494

executemany und ON DUPLICATE KEY UPDATE Problem

Hallo,

ich möchte über MySQLdb und executemany einen "INSERT...ON DUPLICATE KEY UPDATE" ausführen lassen.

cursor.executemany("INSERT INTO User (User_ID, User_Name, First_Name, Last_Name, User_Title, Tel, E_Mail) VALUES (%s, %s, %s, %s, %s, %s, %s) ON DUPLICATE KEY UPDATE Tel=1", myCommandList ...
von HugoB
Dienstag 29. März 2011, 09:09
Forum: Allgemeine Fragen
Thema: setdefault + erstes Element aus einer Liste
Antworten: 6
Zugriffe: 1017

Re: setdefault + erstes Element aus einer Liste

get() ist genau was ich brauche. Vielen Dank. Ich hatte die Funktion zwar schon in der Doku gesehen, aber wohl übersehen, daß ich dort auch einen Default Wert mitgeben kann.

Aber noch aus Neugierde: Auch wenn setdefault() mehr macht, als ich brauche - würde es damit auch gehen? Ich hatte schon ...
von HugoB
Dienstag 29. März 2011, 08:47
Forum: Allgemeine Fragen
Thema: setdefault + erstes Element aus einer Liste
Antworten: 6
Zugriffe: 1017

setdefault + erstes Element aus einer Liste

Hallo,

ich bin noch neu in Sachen Python und stehe gerade vor folgendem Problem:

Ich habe ein dict, von dem ich nicht sicher sagen kann, ob alle Keys, die ich später verarbeiten muß, vorhanden sind. "setdefault" hilft mir hier schonmal bei meinem Problem. Hier mal ein vereinfachtes Codebeispiel ...