Brauche kleine Hilfe in SQL...

  • hab nen kleinen update befehl wo ich daten akualisieren muss. nun habe ich aber wie in dem beispiel nicht nur eine artid (in dem fall die 2760) sondern gleich mehrere... wie muss der befehl dann aussehen? wenn ich die zahlen mit komma trenne erkennt er das nicht an...

    update userPlattformartikel set YatAktiv = 0
    where artid = 2760

  • ich würde spontan sagen:
    WHERE ArtID = 2760 OR ArtID = 2761 OR ...
    weil bei nem AND kommt da nie und nimmer was raus, weil das ja n logisches "und" ist, und ein Datensatz kann nicht zwei ArtIDs gleichzeitig haben ;)
    ob man nach dem OR das "ArtID =" weglassen kann, weiß ich nicht, aber mit copy&paste is das sicherlich kein großes Problem

  • wäre cool wenn man das ohne viel copy und paste machen könnte, ich habe diese nummern (ca. 100) direkt untereinander stehen, also mit enter getrennt quasi.

  • ich würde spontan sagen:
    WHERE ArtID = 2760 OR ArtID = 2761 OR ...
    weil bei nem AND kommt da nie und nimmer was raus, weil das ja n logisches "und" ist, und ein Datensatz kann nicht zwei ArtIDs gleichzeitig haben ;)
    ob man nach dem OR das "ArtID =" weglassen kann, weiß ich nicht, aber mit copy&paste is das sicherlich kein großes Problem

    Hast Recht...aber AND geht auch, wenn die Nummern eh feststehen. Mit OR verhinderst du nur, dass das ganze nicht klappt, wenn ein Datensatz fehlt, wenn ich mich nicht irre...

  • schon mal die mengenschreibweise ausprobiert? einige sql-dialekte unterstützen sowas in der art wie "where artikel_id in (id1, id2, id3 ...)". so kannst du auch deine nummernliste ohne viel aufwand nutzen.

  • Hast du schon mal auf das Datum des leztzten Beitrags geschaut? Ich glaub kaum, dass das dem Threadersteller noch helfen wird. Er hat das Forum vor über 2 Jahren verlassen und wird nicht mehr zurückkommen. :gadget:

  • Genau. Es ist unwahrscheinlich, daß TM30 hier nochmal posten wird, nach dem, was damals abging.

    "Du bist und bleibst a Mensch und du kannst eben net deine menschlichkeit überwinden."

    Dennis_50300

  • Hallo,

    hab auch ein kleines Problemchen mit SQL. Hab eine database die "tv" heißt und darin eine Tabelle namens "produkte". Ich würde nun gern diese Tabelle mit diesem SQL-Befehl füllen:

    SQL
    INSERT INTO produkte (seriennummer,produktname,produzent,preis,bestand) Values (`4587ADC20`,`Plasma 32`,`Philups`,1200.90,0)

    . Das schlägt aber immer mit dem Fehler #1054 - Unknown column '4587ADC20' in 'field list' fehl. Sieht da jemand irgendwo ein Fehler in der Syntax? Die Felder sind meiner Meinung nach alle vorhanden.

    seriennummer, produktname, produzent sind CHARs, preis ist double und bestand ist int falls das was zur Sache tut.

    Edit: Da waren die Finger mal wieder schneller als der Kopf... :topmodel: Man kann das ja auch in PHPMyAdmin eingeben und gucken was der für nen Befehl ausgibt. Hier nur der Vollständigkeit halber:

    SQL
    INSERT INTO `tv`.`produkte` (
    `produktname` ,
    `seriennummer` ,
    `produzent` ,
    `preis` ,
    `bestand`
    )
    VALUES (
    'Plasma 32"', '4587ADC20', 'Philups', '1200.90', '0'
    );

    Einmal editiert, zuletzt von Blacktron (18. September 2012 um 16:27)