Habi Geschrieben 28. November 2006 Geschrieben 28. November 2006 Hallo zusammen, irgendwie stehe ich total auf dem Schlauch. Ich versuche folgendes Statement an MySQL abzusetzen: UPDATE hc_price SET price.doPrice=price.doPrice * 0.9 FROM hc_price price,hc_article art WHERE price.FK_ARTICLE_ID=art.nID AND art.nMainMaterialGroup=794 AND price.nCatalogId=14 AND price.FK_LANGUAGE_ID=1 bekomme aber immer die Fehlermeldung: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM hc_price price,hc_article art WHERE price.FK_ARTICLE_ID=art.nID AND art.nMa' at line 1 und irgendwie bekomme ich das nicht auf die Reihe. Was mach ich denn falsch??? Grüße Timo Zitieren
Goos Geschrieben 28. November 2006 Geschrieben 28. November 2006 Ich hab keine Ahnung wie das bei MySQL umgesetzt ist, aber ich gehe davon aus, dass auch dort Subquerys geklammert werden muessen. Goos PS: Ein select muss dann natuerlich auch noch rein Zitieren
Darth_Zeus Geschrieben 28. November 2006 Geschrieben 28. November 2006 UPDATE hc_price SET price.doPrice=price.doPrice * 0.9 FROM hc_price price,hc_article art WHERE (price.FK_ARTICLE_ID=art.nID) AND( art.nMainMaterialGroup=794) AND (price.nCatalogId=14) AND price.FK_LANGUAGE_ID=1 Klammere mal die einzelnen Statements zwischen den AND Operatoren. Bin aber kein MySql Spezialist Zitieren
ZuVieL Geschrieben 28. November 2006 Geschrieben 28. November 2006 UPDATE hc_price SET price.doPrice = price.doPrice * 0.9 FROM hc_price, price, hc_article, art WHERE price.FK_ARTICLE_ID = art.nID AND art.nMainMaterialGroup = 794 AND price.nCatalogId = 14 AND price.FK_LANGUAGE_ID = 1 Zitieren
Goos Geschrieben 28. November 2006 Geschrieben 28. November 2006 UPDATE hc_price SET price.doPrice = price.doPrice * 0.9 FROM hc_price, price, hc_article, art WHERE price.FK_ARTICLE_ID = art.nID AND art.nMainMaterialGroup = 794 AND price.nCatalogId = 14 AND price.FK_LANGUAGE_ID = 1 Was soll nun das? Meinst du wirklich, dass es an den Zeilenumbruechen und Leerzeichen haengt? Falls das so ist, dann pack ich schonmal meinen Essbesen aus und werden in Zukunft jedem von MySQL abraten Goos Zitieren
ZuVieL Geschrieben 28. November 2006 Geschrieben 28. November 2006 wenn ich da richtig durchgestiegen bin dachte ich eigentlich an die kommas Zitieren
Goos Geschrieben 28. November 2006 Geschrieben 28. November 2006 wenn ich da richtig durchgestiegen bin dachte ich eigentlich an die kommas Ach so, mein Fehler... die hab ich nicht gesehen :bimei Deine zusaetzlichen Kommas gehoeren da aber nicht rein. An der Stelle werden nur Tabellenaliasse vergeben. Goos Zitieren
T3D Geschrieben 29. November 2006 Geschrieben 29. November 2006 die syntax ist flasch UPDATE tabelle SET spalte = (SELECT spalte*0.9 AS bla FROM tabelle WHERE bedingung) WHERE bedingung fuer das update waere richtig Ted Zitieren
geloescht_JesterDay Geschrieben 30. November 2006 Geschrieben 30. November 2006 Er braucht doch gar kein SELECT, wenn es sich eh um dieselbe Tabelle handelt... Also UPDATE hc_price SET doPrice= doPrice * 0.9 WHERE FK_ARTICLE_ID=[b]X[/b] AND nCatalogId=14 AND FK_LANGUAGE_ID=1 Dabei muss die Artikel ID (das X oben) eben vorher bestimmt werden. Updates funktionieren eigentlich immer nur mit 1 Tabelle im Statement. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.