Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列出MySQL中可用的数据类型_Mysql_Sql_Mariadb - Fatal编程技术网

列出MySQL中可用的数据类型

列出MySQL中可用的数据类型,mysql,sql,mariadb,Mysql,Sql,Mariadb,如何以编程方式列出MySQL中所有可用的数据类型 如MS-SQL中的sys.types中的SELECT*。 我相信这是不可能的,但有人肯定知道吗? 注意:我不需要中使用的类型 SELECT DISTINCT data_type FROM information_schema.columns 不幸的是,无法以编程方式列出MySQL中可用的数据类型。MySQL没有用户定义的类型,因此硬编码类型列表的问题不大,因为它(现在)变化不大。大概在实现UDT时,也会有人添加一个information\u

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

如MS-SQL中的sys.types中的
SELECT*。

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

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

SELECT DISTINCT data_type FROM information_schema.columns

不幸的是,无法以编程方式列出MySQL中可用的数据类型。MySQL没有用户定义的类型,因此硬编码类型列表的问题不大,因为它(现在)变化不大。大概在实现UDT时,也会有人添加一个
information\u schema.types
表。如果您想查看当前实现的所有类型,可以在此处查看源代码
sql/sql_yacc.yy
例如MySQL 5.6.15:


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

我相信MySQL上不容易获得这些信息。您可能需要根据官方文档自行构建一个表。如果必须处理多个版本,则使用PITA。正面消息:我不是MySQL专家,所以先别相信我的话+1因为我也很好奇。你是说从一张表还是从整个MySQL系列中?一个简单的
description
可以为一个表做任何你想做的事情。他想列出所有可用的类型,而不是使用过的类型。好吧,如果你想通过你的系统不断地了解数据类型,我想唯一的方法是创建自定义库,通过终端包装器调用检查服务器上编译的MySQL文件。否则,您需要获取所有MySQL数据类型的列表(很容易从文档中获得),然后测试为每个数据类型创建一个虚拟表,并检查MySQL是否给出了错误。如果MySQL版本发生更改(如WHM自动更新),您可以缓存这些表创建的结果(以及可用类型),然后不时运行cron作业。PHPMyAdmin似乎有54个列类型硬编码: