欢迎来到cool的博客
7

Music box

Click to Start

点击头像播放音乐
新博客链接

mysql字段类型text (TINYTEXT,MEDIUMTEXT,LONGTEXT)

  • TINYTEXT - 256 bytes
  • TEXT - 65,535 bytes
  • MEDIUMTEXT - 16,777,215 bytes
  • LONGTEXT - 4,294,967,295 bytes

A text column needs to be one of those four types. You can't specify a custom length for these types in MySQL.

So if you set a limit on a :text type column, Rails will automatically pick the smallest of those types that can accommodate that value, silently rounding up the limiting value you inputted to one of those four limits above.

 

Example:

t.text :example_text_field, :limit => 20

will produce a TINYTEXT field with a limit of 256 bytes, whereas

t.text :example_text_field, :limit => 16.megabytes - 1

will produce a MEDIUMTEXT field with a limit of 16,777,215 bytes.

 

Update

For the shake of the question: "I need to change a column"

change_column :example_table, :example_text_field, :text, limit: 16.megabytes - 1

 

Update Longtext  Example:

change_column :articles, :body, :text, :limit => 4294967295

 

返回列表