Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL concat() untuk membuat nama kolom yang akan digunakan dalam kueri?

Saya sebelumnya mengatakan bahwa ini tidak dapat dilakukan, tetapi saya salah. Saya akhirnya membutuhkan sesuatu seperti ini sendiri jadi saya melihat sekeliling, dan menemukan bahwa pernyataan yang disiapkan sisi server memungkinkan Anda membangun dan mengeksekusi pernyataan SQL arbitrer dari string.

Berikut adalah contoh yang baru saja saya lakukan untuk membuktikan konsepnya:

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. java.lang.AbstractMethodError:com.mysql.jdbc.Connection.isValid(I)Z

  2. Apakah Urutan Bidang Indeks Multi-Kolom di MySQL Penting?

  3. MySQL Trigger tidak dapat memperbarui tabel - mendapatkan ERROR 1442

  4. Menghubungkan ke server MySQL jarak jauh menggunakan PHP

  5. NameError:nama '_mysql' tidak ditentukan setelah perubahan pengaturan ke mysql