特别是表中存在一个字段SET
具有特定合法值的类型:
personType SET('CUSTOMER','SUPPLIER','EMPLOYEE', 'CONTRACTOR') NOT NULL
有什么方法可以查询 MySQL 来获取有效值的列表吗?在 MySQL 解释器中我只需运行DESCRIBE someTable;
但是,如果有一种更直接的方法可以以编程方式使用而无需进行大量解析,那就太好了。
Thanks.
现在,这简直让人抓狂,但它仅适用于 MySQL 并且可以工作!
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:=@r+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');
只需将“some_table”和“some_column”替换为您的特定表/列,即可看到神奇效果!
你会看到“information_schema.COLLATIONS”的奇怪用法 - 这是因为我们需要一个表 -任何桌子- 含有至少 N 行,其中 N 是集合中元素的数量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)