Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die Unterabfrage gibt mehr als eine Zeilenlösung für die Aktualisierungsabfrage mit der SELECT-Anweisung zurück

Wenn Sie update mit SET configuration=(SELECT ...) verwenden die Unterabfrage darf nicht mehr als einen Wert (eine Zeile) zurückgeben. Wenn mehr als ein Wert zurückgegeben wird, wie weisen Sie beispielsweise der skalaren configureation eine zweizeilige Tabelle zu aufstellen. Sie sollten also herausfinden, WARUM Ihre Unterabfrage mehr als eine Zeile zurückgibt, und die Unterabfrage korrigieren oder entscheiden, welchen EINEN Wert Sie für die Aktualisierung auswählen, wenn mehr als eine Zeile vorhanden ist. Sie können zum Beispiel den Maximalwert

auswählen
SELECT MAX(ad_news_texte.headline)...

oder einen beliebigen ersten Wert

(SELECT ad_news_texte.headline)... LIMIT 1)

und so weiter...

Wenn Sie alle Zeilen verketten und in eine Zeile configureation einfügen müssen Sie können GROUP_CONCAT() MySQL-Funktion:

SET configuration=(SELECT GROUP_CONCAT(DISTINCT ad_news_texte.headline) FROM ....