Arrays 将规则数组类型从tinytext更改为longtext
我对阵列类型有问题, 我有一个字段,其中包含数组形式下需要的各种数据,主要是字符串Arrays 将规则数组类型从tinytext更改为longtext,arrays,symfony,doctrine,Arrays,Symfony,Doctrine,我对阵列类型有问题, 我有一个字段,其中包含数组形式下需要的各种数据,主要是字符串 /** * @var string * * @ORM\Column(name="data", type="array", length=250, nullable=false, * options={"comment" = "Data of notification."}) */ protected $data;
/**
* @var string
*
* @ORM\Column(name="data", type="array", length=250, nullable=false,
* options={"comment" = "Data of notification."})
*/
protected $data;
但我注意到它存储在MySQL中的tinytext表单下,这是存储我想要的数据的一种简写方式
现在有人知道我如何强制doctrine从tinytext切换到longtext吗?请检查此会话:
检查手册中的其他类型,如您所愿
数据库供应商对不同字符串的最大长度有不同的限制。如果超过最大允许长度,则条令会在内部将字符串类型映射到供应商的文本类型。当从数据库反向工程类型时,这可能导致类型不一致
这意味着如果要强制增大列的大小,则必须增大列的长度。请检查此会话:
检查手册中的其他类型,如您所愿
数据库供应商对不同字符串的最大长度有不同的限制。如果超过最大允许长度,则条令会在内部将字符串类型映射到供应商的文本类型。当从数据库反向工程类型时,这可能导致类型不一致
这意味着,如果要强制增大列的大小,则必须增大列的长度。增大长度
数组[1]数组MySQL所有TINYTEXT[17]文本[18]
中文本[19]长文本[20]
- [17] (1,2,3,4,5)如果列长度小于或等于2^8-1=255,则选择此选项
- [18] (1,2,3,4,5)如果列长度小于或等于2^16-1=65535,则选择此选项
- [19] (1,2,3,4,5)如果列长度小于或等于2^24-1=16777215,则选择此选项
- [20] 如果列长度小于或等于2^32-1=4294967295或为空,则选择(1、2、3、4、5)
- [17] (1,2,3,4,5)如果列长度小于或等于2^8-1=255,则选择此选项
- [18] (1,2,3,4,5)如果列长度小于或等于2^16-1=65535,则选择此选项
- [19] (1,2,3,4,5)如果列长度小于或等于2^24-1=16777215,则选择此选项
- [20] 如果列长度小于或等于2^32-1=4294967295或为空,则选择(1、2、3、4、5)
如果希望字段映射到长文本列,请使用:
/**
* @var string
*
* @ORM\Column(name="data", type="array", length=16777216, nullable=false,
* options={"comment" = "Data of notification."})
*/
protected $data;
i、 e.通过将长度设置为高于16777215的值,可以将字段映射到长文本
您还可以省略length参数(它通常用于提示使用小于LONGTEXT的字段类型)。例如,如果将长度设置为1000,则会得到一个文本字段,或者如果将数字设置为小于255,则会得到一个TINYTEXT字段(如您已经发现的)。如果希望字段映射到一个长文本列,则使用:
/**
* @var string
*
* @ORM\Column(name="data", type="array", length=16777216, nullable=false,
* options={"comment" = "Data of notification."})
*/
protected $data;
i、 e.通过将长度设置为高于16777215的值,可以将字段映射到长文本
您还可以省略length参数(它通常用于提示使用小于LONGTEXT的字段类型)。例如,如果将长度设置为1000,则会得到一个文本字段,或者如果将数字设置为小于255,则会得到一个TINYTEXT字段(如您已经发现的)。您应该删除
length=250,
part您应该删除length=250,
part