MySQL Workbench TEXT() 列参数

use*_*865 7 mysql

我通常不使用 MySQL 工作台,我试图通过选择 TEXT() 创建一个带有文本列的表,但是我不确定应该在“()”之间放入什么值。如果我把它留空,它会给我错误:

给定的数据类型 TEXT() 包含错误,不能被接受。而是保留以前的值。

我可以在括号内放一个数字,但我想知道它如何影响列。

我在网上找不到任何答案。我知道它如何影响诸如 DATETIME() 之类的事情,但不知道这种数据类型。

And*_*y G 9

在 TEXT(M) 中,M 是可选长度。从文档

可以为这种类型指定一个可选的长度 M。如果这样做,MySQL 会将列创建为足够大的最小 TEXT 类型,以容纳 M 个字符长的值。

因此,您可以使用它来指定您预期的字段的最大字符数。

如果省略括号 - 只是 TEXT - 它将默认为 65,535。否则,如果您提供括号和值,它将默认为适当的文本类型(TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT)。

有关与 VARCHAR 的比较,请参见此处。一个区别是你不能直接索引一个 TEXT 字段,它需要一个前缀。