sql >> Database >  >> RDS >> Mysql

Subquery retourneert meer dan 1 rij-oplossing voor updatequery met select-instructie

Wanneer u update gebruikt met SET configuration=(SELECT ...) de subquery mag niet meer dan één waarde (één rij) retourneren. Als het meer dan één waarde retourneert, hoe wijst u de tabel met twee rijen bijvoorbeeld toe aan scalaire configuration veld. Dus je moet uitzoeken WAAROM je subquery meer dan één rij retourneert en de subquery repareren of beslissen welke ÉÉN waarde moet worden geselecteerd voor update in het geval van meer dan één rij. U kunt bijvoorbeeld de maximale waarde selecteren

SELECT MAX(ad_news_texte.headline)...

of een eerste waarde

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

enzovoort...

Als u alle rijen moet samenvoegen en in één rij moet plaatsen configuration je kunt GROUP_CONCAT() mysql-functie:

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


  1. verschil tussen where_in en find_in_set

  2. eenvoudige SQL-query die ongeldig gebruik van groepsfunctie geeft

  3. PostgreSQL configureren voor bedrijfscontinuïteit

  4. Rails:Postgres-toestemming geweigerd om database op rake te maken db:create:all