sql >> Database teknologi >  >> RDS >> Mysql

MySQL concat() for at oprette kolonnenavne, der skal bruges i en forespørgsel?

Jeg har tidligere sagt, at dette ikke kunne lade sig gøre, men jeg tog fejl. Jeg endte med at få brug for sådan noget selv, så jeg kiggede mig omkring og opdagede, at forberedte erklæringer på serversiden lader dig bygge og udføre vilkårlige SQL-sætninger fra strenge.

Her er et eksempel, jeg lige gjorde for at bevise konceptet:

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. FEJL 1118 (42000) Rækkestørrelsen er for stor

  2. Kan jeg SSH til MySQL med GUI-værktøjerne?

  3. SQL Server bruger høj CPU, når der søges i nvarchar-strenge

  4. Hvordan viser man mysql blob-billede i asp.net billedkontrol?