首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析SQL结构的正则表达式

解析SQL结构的正则表达式
EN

Stack Overflow用户
提问于 2010-05-26 21:58:07
回答 3查看 674关注 0票数 4

我试图解析由“”返回的MySQL数据类型。

它返回的字符串如下:

int(11) 浮动 varchar(200) int(11)未签名 浮动(6,2)

我尝试过使用正则表达式来完成这项工作,但是它不起作用。

PHP代码:

代码语言:javascript
复制
$string = "int(11) numeric";<br/>
$regex = '/(\w+)\s*(\w+)/';<br/>
var_dump( preg_split($regex, $string) );<br/>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-26 22:10:14

我用Zend_Db_Adapter_Mysqli::describeTable()编写了代码来完成这个任务。

它处理varchar、char、十进制、浮点数和所有MySQL整数类型。

我不会在这里发布代码,因为StackOverflow的CC-wiki许可策略,但去查看它的链接。

mysql_fetch_field()只报告查询结果集的数据类型,而不报告持久化表。

INFORMATION_SCHEMA是另一种选择,但是MySQL早期实现它的性能非常差,这使得它很难在需要快速响应时间的web应用程序中使用。MySQL 5.1.23中的一些更改试图提高性能,但有些人仍然报告了问题。

票数 3
EN

Stack Overflow用户

发布于 2010-05-26 22:05:31

查询信息图式以查看表和列的内省,以及更多内容。

票数 4
EN

Stack Overflow用户

发布于 2010-05-26 22:02:15

为什么不直接从字段直接中提取元数据呢?

代码语言:javascript
复制
...
$meta = mysql_fetch_field($result, $i);
echo $meta->type;
echo $meta->max_length;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2917116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档