列出MySQL中的可用数据类型

Ste*_*ger 5 mysql sql mariadb

如何以编程方式列出MySQL中所有可用的数据类型?

喜欢 SELECT * FROM sys.types in MS-SQL.

我相信这是不可能的,但有人确切知道吗?

注意:我不仅需要使用的类型

SELECT DISTINCT data_type FROM information_schema.columns
Run Code Online (Sandbox Code Playgroud)

jer*_*ole 2

遗憾的是,无法以编程方式列出 MySQL 中可用的数据类型。MySQL 没有用户定义的类型,因此对类型列表进行硬编码不成问题,因为它(目前)还没有发生太大变化。想必当UDT实现的时候,也会有人添加一个information_schema.types表。如果您想查看当前实现的所有类型,您可以sql/sql_yacc.yy在此处查看源代码,例如 MySQL 5.6.15:

https://github.com/darnaut/mysql-server/blob/mysql-5.6.15/sql/sql_yacc.yy#L6399

(这假设您可以阅读 yacc 和 C++ 语法。)