mysql update oder insert

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

moin,

kann mir einer sagen, wie ich feststellen kann ob ein update geklappt hat oder nicht ?

IF db.query("update.... NICHT OK
THEN d.query("insert....)

sowas in der art ?


geht drum ein feld HITS jeweils um 1 zu incrementieren...wenn der datensatz aber nich ned existiert, muss er ja erstmal gemacht werden.
BlackJack

Über das Attribut `rowcount` auf `Cursor`-Objekten kann man heraus finden, wie viele Zeilen bei der letzten SQL-Anweisung betroffen waren:

Code: Alles auswählen

In [235]: c.execute('update foo set bar=bar+1 where id=42')
Out[235]: <sqlite3.Cursor object at 0x9cb1bf0>

In [236]: c.rowcount
Out[236]: 1

In [237]: c.execute('update foo set bar=bar+1 where id=23')
Out[237]: <sqlite3.Cursor object at 0x9cb1bf0>

In [238]: c.rowcount
Out[238]: 0
Die `id` 23 existierte also nicht.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

danke. darf ich noch gleich ne xml frage anhängen ?

brauche element tree und hab folgende stuktur:

Code: Alles auswählen

<felder>
<feld>
<name>Eins</name
<inhalt>1</inhalt>
</feld>
<feld>
<name>Zwei</name>
<inhalt>2</inhalt>
</feld>
</felder>
ich benötige nur die zahl 2, also den inhalt. nur weiss ich nicht wie ich auf das teil zugreifen kann. find gibt das erst gefundene, und mit findall bekomm ich das auch nicht...steh grad aufm schlauch.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo debian75!

Code: Alles auswählen

>>> try:
...     from elementtree import ElementTree as et
... except ImportError:
...     from xml.etree import ElementTree as et
...     
>>> xml = """<felder>
... <feld>
... <name>Eins</name>
... <inhalt>1</inhalt>
... </feld>
... <feld>
... <name>Zwei</name>
... <inhalt>2</inhalt>
... </feld>
... </felder>"""
>>> root = et.fromstring(xml)
>>> for feld in root.findall("feld"):
...     print feld.find("inhalt").text
...     
1
2
>>> 
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

und nochmal danke :)
Antworten