Veröffentlicht 28. November 200618 j 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
28. November 200618 j 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
28. November 200618 j 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
28. November 200618 j 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
28. November 200618 j 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
28. November 200618 j 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
29. November 200618 j 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
30. November 200618 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.