Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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 ;)

Geschrieben

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

Geschrieben

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

Geschrieben

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 :D

Goos

Geschrieben
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

Geschrieben

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

Geschrieben

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.

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...