• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Mal wieder SQL

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
Hi ihr fleißigen Helfer.
Ich hätte da mal ne Frage zu SQL-Update-Strings. Und zwar, ob es möglich ist, Einträge zu aktualisieren, wie mit INSERT. Also zuerst die Felder definieren und dann nach VALUES die Werte hintereinanderweg zu posten. Geht das?
Soll so aussehen:
Code:
UPDATE `ger_sights` (`icon`,`icon_selected`,`icon_t1`,`icon_t2`,`icon_t3`,`icon_t4`,`icon_t5`) VALUES ('altes_museum_a.png','altenationalgalerie_p.png','berliner_dom_a.png','brandenburger_tor_a.png','bundeskanzleramt_p.png','checkpoint_charlie_p.png',NULL) WHERE `s_id` = 6;

oder kann ich anstatt UPDATE auch INSERT INTO benutzen???

Bin für jede Hilfe dankbar!

Der Datschi
 
Weiß zwar nicht genau was du meinst aber vielleicht ist REPLACE was für dich. Diese Funktion erstellt einen neuen Datensatz wenn der vordefinierte nicht bestimmt ist. Wenn der Satz existiert wird er nur aktualisierst.
 
UPDATE tabelle SET werte WHERE identifikation;

Beispiel:

UPDATE
News
SET
Name = 'Moin',
Datum = NOW()
WHERE
ID = '5';
 
Ja, das es so geht, weiß ich ;)
Dachte aber, ich könnte mir das zusammensetzen des Strings mit Schleifen und so sparen ^^, bzw. neu schreiben.
 
PostgreSQL und einige andere DBMS bietet
Code:
PGresult *PQexecParams(PGconn *conn,
                       const char *command,
                       int nParams,
                       const Oid *paramTypes,
                       const char * const *paramValues,
                       const int *paramLengths,
                       const int *paramFormats,
                       int resultFormat);
Bzw. in PHP sieht dann das so aus
Code:
pg_query_params(resource $connection, string $query, array $params)
Der SQL-String sieht dann wie folgt aus.
Code:
UPDATE`ger_sights` SET icon=$1, icon_selected=$2, icon_t1=$3, icon_t2=$4, icon_t3=$5, icon_t4=$6, icon_t5=$7 WHERE s_id=6
Die Werte werden dann in einem Array übergeben. Du könntest diese Funktion nachbauen und so nebenbei einfach gegen SQL-Injections absichern.