sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Fråga efter lista över tillgängliga alternativ för SET

Nu, det här blir helt enkelt förbannat, men det är endast MySQL och det fungerar!

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');

Byt bara ut "some_table" och "some_column" för din specifika tabell/kolumn och se magin!

Du kommer att se en konstig användning av "information_schema.COLLATIONS" - detta beror på att vi behöver en tabell där - alla tabeller - som innehåller minst N rader , där N är antalet element i din uppsättning.



  1. Error Building Program med mysql-kontakt

  2. Korrekt hantering av databasresurser:markör och anslutning

  3. Tabellnamn som en PostgreSQL-funktionsparameter

  4. Tyska Umlauts i MYSQL INSERT