【问题标题】:Is it ALWAYS transparent to increase the size of a MYSQL column?增加 MYSQL 列的大小总是透明的吗?
【发布时间】:2015-04-29 13:46:04
【问题描述】:

在我看来,如果我将一列扩大(即varchar(255)varchar(512)),这些更改总是透明的。

  1. 该列中的现有数据将是相同的,并且
  2. selects 和其他 mysql 语句在任何一种情况下都可以正常工作,并且不需要更改?

这是一个有效的假设吗?我即将扩大一个包含数据的字段(带有alter),我想确保在更改之后,事情会像现在一样正常运行和显示(除了之后,我可以推入更大字段)。

【问题讨论】:

  • 如果您缩短列,数据将被截断。如果加宽列,数据是完整的。
  • 只是变长字符列还是其他类型?
  • Ryan 我的意思是一般的文本类型,比如 char、varchar
  • 也许有用:3 Gotchas When Changing a MySQL Column Attribute。默认的 null 会引起我的注意。
  • 谢谢瑞恩,我去看看....

标签: mysql alter


【解决方案1】:

如果列变大,数据将保持不变(例如,VARCHAR(100)VARCHAR(200))。

查询,例如SELECTs 应该可以按预期工作,但是您应该考虑该字段与其他人的内部和外部关系。

  • 此字段是否显示在外部应用程序中,该应用程序设置为仅处理显示 N 个字符,现在需要处理 N+X 个字符?

  • 这个字段是否是另一个查询或过程的输入,它只期望长度为 N 的字段将无法处理长度 N+X

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    相关资源
    最近更新 更多