Mailinglisten-Archive |
Hallo! So ohne weiteres geht das m.M.n. nicht. Moeglichkeit #1 waere mit dem Script (innerhalb einer Transaktion) erst den UPDATE machen und wenn AffectedRows() nicht anschlaegt, den INSERT hinterherschicken. (Achtung, AffectedRows() zeigt nur ein erfolgreiches UPDATE an, wenn sich der Datensatz auch wirklich inhaltlich geaendert hat) Möglichkeit #2 waere ein Trigger auf Datenbankseite, der bei fehlgeschlagenem UPDATE ein INSERT mit denselben Daten hinterherschickt, dann haettest du nur einen einzigen query. Allerdings weiss ich nicht, ob Mysql mittlerweile Trigger beherscht. REPLACE ist in deinem Fall eher unnuetz, da es dann ja sozusagen immer INSERTS waeren (und die kosten viel Resourcen, da die Indexe gepflegt werden muessen...) Gruesse, Ilja On 14 Jul 2004 at 15:34, Ruprecht Helms wrote: > Michael Schoenboeck wrote: > > >Moin, > > > > > > > >Gibt’s da nen parameter den man beu UPDATE angeben kann? > > > > > sollte, sofern es einen gibt in der Doku zu mysql stehen (www.mysql.de) > > >Oder wie kann ich das anstellen, das ich nur ein query hab? > > > > > Gegenfrage, wie bringst Du einen SELECT mit einer Entscheidung dann ein > UPDATE > oder ein INSERT durchzuführen in eine SQL-Anweisung. > > Das mache ich typischerweise mittels eines PHP-Skriptes. Immerhin > brauchst Du eine > If-Abfrage, die auf den SELECT reagiert. > > Gruss > Ruprecht Helms > > ------------------------------------------------------------------------------------- > Ruprecht Helms IT-Service & Softwareentwicklung > > Tel./Fax +49[0]7621 16 99 16 > Web: http://www.rheyn.de > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive