Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo, hier kommt meine Frage, angenommen, ich habe folgende mysql Anfrage:

SELECT tat.* from tbldaten dat, tblkopf kopf where dat.ID=kopf.ID and kopf.Project_Nr=300

Damit erhalte ich alle Sätze, die diesen Suchkriterien entsprechen, wie wandle ich die Anfrage jedoch so um, dass ich gerade in den Spalten die Felder ändern kann, deren Zeilen nach bestimmten Suchkriterium geliefert wurden, so wie in dem obigen Beispiel.

Sagen wir mal so, ändere tbldaten.Feld1=1, tbldaten.Feld2=500 where tbldaten.ID=tblkopf.ID and kopf.Project_Nr=300

Also, dass die Änderung in Zeilen vorgenommen wird, die dem Suchkriterium entsprechen. Nach einer Lösung habe ich bisher vergeblich gesucht.

So in etwa, jedoch unterstützt installierter MYSQL Server keine verschachtelte Anfragen, das geht erst ab höheren MYSQL Versionen, und auf den Server habe ich keinen Einfluß, hinsichtlich seinem Upgrade.

PHP Version 5.2.4

MYSQL 5.0.45

Wie ich gerade sehe, gar nicht mal so alt, jedoch funzen die verschachtelte Anfragen trotzdem nicht :(

Ich habe genauere Fehlerquelle notiert:

You can't specify target table 'tbldaten' for update in FROM clause

:(

Das hat nichts damit zu tun, das mysql keine Subselects unterstützen würde - der Update ist ganz einfach falsch:

update tbldaten set tbldaten.Feld1=1, tbldaten.Feld2=500

where tbldaten.id in (

SELECT kopf.id from tblkopf kopf where kopf.Project_Nr=300);

Dim

So hat es bei mir noch funktioniert, ich habe es so schon ausprobiert, gerade unmittelbar davor, als ich meinen Betrieb verlassen habe, mit verschachtelteten Anfrage, so wie jetzt dr.dimitri angab. Jedoch sind verschachtelte Anfragen langsamer, als die normalen, und schade, dass es anders nicht geht.

DIe Aussage kommt persönlich von Mysql Entwicklern, da jede Anfrage intern optimiert wird, um die Anfrage so schnell, wie möglich durchführen zu können. Angeblich bei einer verschachtelten Anfrage ist es nicht der Fall. Mir ist es im großen und ganzen egal, die Tatsache bleibt weiterhin die Tatsache.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.