Mysql
 sql >> Base de données >  >> RDS >> Mysql

La sous-requête renvoie plus d'une solution de ligne pour la requête de mise à jour à l'aide de l'instruction select

Lorsque vous utilisez la mise à jour avec SET configuration=(SELECT ...) la sous-requête ne doit pas renvoyer plus d'une valeur (une ligne). S'il renvoie plus d'une valeur, comment assignez-vous un tableau à deux lignes, par exemple, à la configureation scalaire champ. Vous devez donc comprendre POURQUOI votre sous-requête renvoie plus d'une ligne et corriger la sous-requête ou décider quelle valeur UNE sélectionner pour la mise à jour en cas de plusieurs lignes. Par exemple, vous pouvez sélectionner la valeur maximale

SELECT MAX(ad_news_texte.headline)...

ou n'importe quelle première valeur

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

et ainsi de suite...

Si vous avez besoin de concaténer toutes les lignes et de les mettre dans une seule ligne configureation vous pouvez utiliser GROUP_CONCAT() fonction mysql :

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