在MySQL中将Varchar迁移到文本

ted*_*ted 6 mysql varchar text

我将mysql表中的“ Varchar”列之一转换为文本字段。我只是使用单个alter命令来转换类型。当我阅读有关文本的内容时,varchar才知道它在存储机制上有区别。

我是否应该编写任何迁移脚本来更改列的类型并移动数据,或者使用单个类型更改命令就足够了?

Shu*_* Yi 8

ALTER TABLE table_name MODIFY column_name TEXT NOT NULL;
Run Code Online (Sandbox Code Playgroud)


Iva*_*ari 6

有没有一个大问题,以改变varchartext,因为text比支持更多的数据长度varchar,但如果外地有一个指标就必须下降,并创建新的前缀指数col_name(length)(见CREATE INDEX语法)。

根据您的数据内容,使用fulltext索引可能是一个好主意,但这意味着更改您在该字段上的搜索表达式。

如果您在生产环境中,则表将在迁移过程中被锁定,以防止数据丢失。