【发布时间】:2019-02-23 15:26:19
【问题描述】:
每次我创建一个新的Entity 属性类型为string 时,每当我想更新我的数据库时,我都会收到错误消息:
SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 767 字节
现在这是许多人面临的问题,原因是
described here。我明白我的问题是什么,我可以通过提供属性@ORM\Column(type="string", length=191) 来解决它。
不过,我必须将架构中每个 string type 的长度设置为 191。有什么办法可以在(教义)配置文件中将字符串的默认长度设置为 191,这样我就不必每次都更改它?
我不想改成 utf8。
【问题讨论】:
-
您可以更改 MySQL 的配置以增加可用大小:stackoverflow.com/questions/42043205/…
-
你解决了吗?
-
@miguelbemartin,是的。将我的数据库服务器 (MariaDB) 更新到版本 10.3.15 解决了我的问题。
标签: symfony doctrine-orm