mysql - 当从 information_schema.columns 表中长时间返回“mediumtext”时,如何判断列是文本还是长列?
问题描述
我正在阅读 MySql 的 information_schema 表,以了解我正在使用的模式,该模式具有 long 作为数据类型的表。
如在
创建表 foo ( col1 varchar(40), col2 long, col3 varchar(256) );
如果我从该表上的 information_schema.columns 中进行选择,则 data_type 将返回为“mediumtext”。
如何区分长字段和文本字段?
示例 sql 如下所示:
drop table if exists foo;
create table foo (
col1 varchar(40),
col2 long,
col3 varchar(256),
col4 mediumtext
);
insert into foo values ("This is col 1", 12345, 'This is col 3', 'This is col4');
select * from foo;
select * from information_schema.columns where table_name = 'foo';
解决方案
如果您将 col2 定义为 longtext,那么当您查询 information_schema.columns 时,它就会出现。long 不是 mysql 中定义的数据类型,而是“为了方便使用为其他供应商的 SQL 实现编写的代码” https://dev.mysql.com/doc/refman/8.0/en/other-vendor-data-types。 html它映射为 mediumtext。
推荐阅读
- windows - 如何创建 FFMPEG VIDSTAB 批处理脚本 Windows
- excel - 如何使用 Excel VBA 在单次运行中用一列中的 5 个文字和另一列中的 5 个公式填充 5 x 2 范围
- ruby - Ruby在程序结束前没有运行打印
- matlab - 来自contourc数据的Matlab等高线图
- javascript - 如何处理 base64 编码字符串中的二进制内容?
- node.js - 如何保持 Express 中间件子堆栈附加到特定路由?
- javascript - 如何使用 Firebase 信息设置变量
- python - 如何批量使用 Azure Speech to Text 转录 - Python 代码
- java - 如何使用 MyBatis 调用返回 BOOLEAN 的函数?
- python - 有没有办法在 pytest 参数化中使用动态值?