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

MySQL concat() за създаване на имена на колони, които да се използват в заявка?

По-рано казах, че това не може да се направи, но сгреших. В крайна сметка аз самият имах нужда от нещо подобно, така че се огледах и открих, че подготвени изявления от страна на сървъра ви позволява да създавате и изпълнявате произволни SQL изрази от низове.

Ето един пример, който току-що направих, за да докажа концепцията:

set @query := (
  select concat(
    "select",
      group_concat(concat("\n  1 as ", column_name) separator ','),
    "\nfrom dual")
  from information_schema.columns
  where table_name = 'columns')
;
prepare s1 from @query
;
execute s1
;
deallocate prepare s1
;


  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?

  2. Какво да направите, когато имате нужда от цели числа, по-големи от 20 цифри в mysql?

  3. Импортирайте SQL файл в mysql

  4. MySQL файл с данни за зареждане - ускорение?

  5. Как да използвате тригер в MySql, за да направите външен ключ