小编Jer*_*emy的帖子

动态确定列的最合适的数据类型

好的,我知道这看起来很奇怪.但是,我试图找出如何动态确定在MySql数据库中使用SQL查询设置列的数据类型.

我有许多通过脚本动态创建的表.我最初创建它们,并将所有列的大小设置为长度为2000的"文本"数据类型.我这样做是为了让我不必担心在插入过程中实际进入表中的内容.一旦我完成了表格的数据插入,我就会查看表格,检查存储的数据的最大长度以及为每个列和表格存储的数据类型.有很多表 - 还有很多列.我想出了一个过程 - 但是,我有点担心它会错过这些时间之一.数据库有大约1250多个表,总共大约有3 亿多行.真正不幸的是数据类型永远不能保证一致.永远.这就是为什么我必须在导入后处理它们.

基本上,我运行一个查询来获取列的MAX CHAR_LENGTH并存储它.然后,我运行一个查询,在数据库中选择N条记录,然后检查它们是数字还是字符.我知道我知道.不是最好的方法.

由于我绝对无法确定传入的数据(真的是一场噩梦),我想知道是否有办法查询列以查看其中包含哪种数据?我不是在寻找一个查询来查看列是如何定义的(显然,因为我已经用'通用'类型的"text"定义了它).

我知道我可以在导入过程中在脚本中处理这个,但我希望只运行一个ALTER TABLE命令而不是编写一堆额外的代码.

任何想法或想法都非常感谢!

mysql dynamic-columns

5
推荐指数
1
解决办法
1729
查看次数

标签 统计

dynamic-columns ×1

mysql ×1