【问题标题】:Migrating Varchar to Text in Mysql在 Mysql 中将 Varchar 迁移到文本
【发布时间】:2016-10-25 17:08:30
【问题描述】:

我正在将 mysql 表中的“Varchar”列之一转换为文本字段。我只是使用单个 alter 命令来转换类型。当我读到 text 和 varchar 时才知道它在存储机制上有所不同。

我应该编写任何迁移脚本来更改列类型并移动数据还是单个类型更改命令就足够了?

【问题讨论】:

  • 如果alter幸存下来,你就可以走了
  • 如果我要在生产设置中进行?
  • 这是一个非常广泛的问题或评论。一些答案在其他 rdbms' ...dba.stackexchange.com/q/27153 ... 所以你的问题已经被多次问过很多次。看看之前的文章就知道了

标签: mysql text varchar


【解决方案1】:
ALTER TABLE table_name MODIFY column_name TEXT NOT NULL;

【讨论】:

    【解决方案2】:

    varchar 更改为text 没有什么大问题,因为text 支持的数据长度比varchar 多,但是如果字段有索引,则必须删除它并创建带有前缀@987654326 的新索引@(见CREATE INDEX syntax)。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2014-01-18
      • 2016-05-17
      • 1970-01-01
      • 2016-01-04
      • 2023-04-03
      相关资源
      最近更新 更多