【问题标题】:Effects of changing datatype of a column from varchar to text将列的数据类型从 varchar 更改为 text 的影响
【发布时间】:2016-09-02 07:07:28
【问题描述】:

企业应用程序(使用休眠)中数据库中的列的文本数据非常庞大,在将 varchar 大小增加到特定数字后,我别无选择,只能将数据类型更改为文本。任何人都可以帮助我了解它如何影响我的申请。我需要处理其他任何事情还是只更改数据类型有效?

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    您应该使用 TEXT。 虽然这与 VARCHAR 是一回事:

    如果列的声明类型包含任何字符串“CHAR”, “CLOB”或“TEXT”,则该列具有 TEXT 亲和性。请注意, 类型 VARCHAR 包含字符串“CHAR”,因此被分配了 TEXT 亲和力

    另请注意

    注意类型后面括号中的数字参数 名称(例如:“VARCHAR(255)”)被 SQLite 忽略 - SQLite 不会 施加任何长度限制(除了大的全局 SQLITE_MAX_LENGTH 限制)字符串、BLOB 或数字的长度 价值观。

    您的应用程序可以很好地处理数据类型文本。您不需要处理任何事情

    【讨论】:

      【解决方案2】:

      如果您想确定,请先创建备份数据库以防万一, 或者至少备份/复制您要进行更改的表

      对我来说,我也更喜欢 varchar 而不是 text 因为 varchar 过去使用的内存比 text 小

      ex : address (100) , 仅使用 80 个字符的记录,将在 varchar 中保存为 80 个字符 在文本中,将保存为 100 个字符

      【讨论】:

      • 我在这里没有选择,因为我的行大小已达到 65535 字节。我已经备份,一切似乎都与文本正常工作。只是想确保我不会错过任何东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 2017-10-23
      相关资源
      最近更新 更多