Verknüpfung update / select funktioniert nicht

Hab da ein dummes Problem,
anscheinend läuft auf meinem Server eine andere SQL-Version als auf meiner Entwicklungsumgebung und jetzt muss ich einige SQL-Anfragen abändern…

z.b. kann man bei meiner Entwichlungsumgebung 3 Tabellen mit „,“ joinen und dann vor der where-anweisung einfach ein „ON“.
Bei meinem Server aber muss ich „INNER JOIN“ anstatt dem „,“ schreiben und auch bei mehreren Tabellen mehrere „ON“, jeweils direkt hinter die neu gejointe tabelle…
diese Info aber nur am Rande damit ihr mein anderes Problem vllt besser versteht :

Also ich will einfach nur ein update & select verbinden und mache das auf meinem „entwicklungsserver“ so :

UPDATE user SET rang_alt=(SELECT rang FROM rangtab WHERE user.id=rangtab.uid)

funktioniert super…
auf meinem Server aber meckert SQL da :frowning:
also hab ichs mal so probiert :

UPDATE user, rangtab SET user.rang_alt=rangtab.rang WHERE user.id=rangtab.uid

aber das geht auch nicht…

was kann ich noch probieren ?

Hi!

UPDATE user SET rang_alt=(SELECT rang FROM rangtab WHERE
user.id=rangtab.uid)

funktioniert super…
auf meinem Server aber meckert SQL da :frowning:

Und was meckert er??

also hab ichs mal so probiert :

UPDATE user, rangtab SET user.rang_alt=rangtab.rang WHERE
user.id=rangtab.uid

Merke: UPDATE/INSERT/DELETE funktionieren immer nur auf EINE Tabelle (auf mehrere auch, aber nicht so … und nicht so einfach …)

was kann ich noch probieren ?

Was der SQL-Server so „meckert“ könntest mal probieren, hier reinzuschreiben.

Grüße,
Tomh

Hi :smile:

UPDATE user SET rang_alt=(SELECT rang FROM rangtab WHERE
user.id=rangtab.uid)

funktioniert super…
auf meinem Server aber meckert SQL da :frowning:

Und was meckert er??

#1064 - You have an error in your SQL syntax near ‚SELECT rang FROM rangtab WHERE user.id=rangtab.uid)‘ at line 1

sagt mir SQL aber „lustigerweise“ nur auf meinem „Release-Server“ und bei meinem „entwicklungsserver“ macht er was ich will :frowning:
ich will ja einfach nur die alten ränge festhalten wenn bevor ich die neuen eintrage… vllt sollte ich einfach die alte tabelle in rangtab_alt umbennen und die neue dann wieder anlegen… kA…

Grüße,
Tomh

Grüße,
Fabian

Hi!

#1064 - You have an error in your SQL syntax near ‚SELECT rang
FROM rangtab WHERE user.id=rangtab.uid)‘ at line 1

sagt mir SQL aber „lustigerweise“ nur auf meinem
„Release-Server“ und bei meinem „entwicklungsserver“ macht er
was ich will :frowning:
ich will ja einfach nur die alten ränge festhalten wenn bevor
ich die neuen eintrage… vllt sollte ich einfach die alte
tabelle in rangtab_alt umbennen und die neue dann wieder
anlegen… kA…

Kann es sein, daß er entweder nix oder ganz einfach zuviele Sätze zurückkriegt? Was liefert das SELECT wenn’s alleine ausgeführt wird?

Grüße,
Tomh

Kann es sein, daß er entweder nix oder ganz einfach zuviele
Sätze zurückkriegt? Was liefert das SELECT wenn’s alleine
ausgeführt wird?

ne das ist es leider nicht :frowning:
ich mein ich kann SELECZ ja nicht genauso wie oben angeben ausführen weil die WHERE Anweisung unsinnvoll ist

aber ohne WHERE liefert es wie gewollt 6 Zeilen zurück

Grüße,
Fabian