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.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

mysql update oder insert

Beitragvon debian75 » Montag 4. Februar 2008, 15:01

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

Beitragvon BlackJack » Montag 4. Februar 2008, 15:53

Ü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

Beitragvon debian75 » Montag 4. Februar 2008, 16:01

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

brauche element tree und hab folgende stuktur:
[code=]
<felder>
<feld>
<name>Eins</name
<inhalt>1</inhalt>
</feld>
<feld>
<name>Zwei</name>
<inhalt>2</inhalt>
</feld>
</felder>
[/code]

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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Montag 4. Februar 2008, 16:28

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

Beitragvon debian75 » Montag 4. Februar 2008, 17:11

und nochmal danke :)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]