sql >> Databáze >  >> RDS >> Mysql

MySQL:Dotaz na seznam dostupných možností pro SET

Teď to prostě vyděsí, ale je to pouze MySQL a funguje to!

SELECT TRIM("'" FROM SUBSTRING_INDEX(SUBSTRING_INDEX(
   (SELECT TRIM(')' FROM SUBSTR(column_type, 5)) FROM information_schema.columns 
    WHERE table_name = 'some_table' AND column_name = 'some_column'),
',', @r:[email protected]+1), ',', -1)) AS item
FROM (SELECT @r:=0) deriv1,
(SELECT ID FROM information_schema.COLLATIONS) deriv2
HAVING @r <= 
   (SELECT LENGTH(column_type) - LENGTH(REPLACE(column_type, ',', ''))
    FROM information_schema.columns
    WHERE table_name = 'some_table' AND column_name = 'some_column');

Jednoduše nahraďte „nejakou_tabulku“ a „nejakej_sloupec“ za vaši konkrétní tabulku/sloupec a uvidíte kouzlo!

Uvidíte podivné použití "information_schema.COLLATIONS" - je to proto, že tam potřebujeme tabulku - libovolnou tabulku - obsahující alespoň N řádků , kde N je počet prvků ve vaší sadě.



  1. Jak získat připojovací řetězec z databáze

  2. Je v Oracle možné VLOŽIT nebo AKTUALIZOVAT záznam prostřednictvím pohledu?

  3. Co je schéma v SQL a jak jej vytvořit?

  4. mysqli_stmt::bind_result():Počet proměnných vazby neodpovídá počtu polí v připraveném příkazu