Mysql
 sql >> база данни >  >> RDS >> Mysql

Подзаявката връща решение с повече от 1 ред за заявка за актуализиране, използвайки оператор select

Когато използвате актуализация с SET configuration=(SELECT ...) подзаявката трябва да върне не повече от една стойност (един ред). Ако връща повече от една стойност, как да присвоите таблица с два реда например на скаларна configuration поле. Така че трябва да разберете ЗАЩО вашата подзаявка връща повече от един ред и да коригирате подзаявката или да решите коя ЕДНА стойност да изберете за актуализиране в случай на повече от един ред. Например можете да изберете максимална стойност

SELECT MAX(ad_news_texte.headline)...

или всяка една първа стойност

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

и така нататък...

Ако трябва да конкатенирате всички редове и да ги поставите в един ред configureation можете да използвате GROUP_CONCAT() mysql функция:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използването на mySql чрез прокси изхвърля Причинено от:java.sql.SQLException:Извикваеми изрази не се поддържат. след повторно свързване

  2. Разлика между DataSource и ConnectionPoolDataSource

  3. изберете заявка и пребройте въз основа на условие

  4. Как да използвам подготвен израз за заявка за избор в Java?

  5. Средна разлика във времето в mysql