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
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
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
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
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
ZuVieL Geschrieben 28. November 2006 Geschrieben 28. November 2006 wenn ich da richtig durchgestiegen bin dachte ich eigentlich an die kommas
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
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden