mysql – MyISAM唯一键被切断为64字节,导致冲突
发布时间:2021-01-12 02:25:41 所属栏目:MySql 来源:互联网
导读:我有一个MySQL表将url存储为唯一键.我开始在我的键上发生冲突,因为看起来键本身只是前任64个字节(或者你喜欢的字符,它是latin-1整理的)任何url.因此,如果一个网址超过64个字符,并且我已经有一个类似的网址,则会抛出错误.例如:SELECT l.link_id FROM mydb.lin
我有一个MySQL表将url存储为唯一键.我开始在我的键上发生冲突,因为看起来键本身只是前任64个字节(或者你喜欢的字符,它是latin-1整理的)任何url.因此,如果一个网址超过64个字符,并且我已经有一个类似的网址,则会抛出错误. 例如:
抛出此错误:
Isnt MyISAM应该有1000字节的密钥长度吗? 编辑:在CREATE TABLE STATUS调用中似乎没有列出前缀长度,它看起来像这样:
我尝试在256处设置一个像这样:
我收到以下错误:
我认为回退只是因为我通过MySQL Workbench运行了ALTER TABLE.
最佳答案
当您创建仅使用前缀的索引(通过指定索引的长度)时,前缀最多可达1000个字节(请参阅7.5.1 Column Indexes).使用 (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在MySQL数据库中替换所有行中所有字段中的所有表?
- 在MacOSX10.6上运行python服务器时出现MySQLdb错误
- mysql – HAVING子句如何真正起作用?
- c# – MySQL BLOB图像数据逐渐丢失?
- 如何使用Sequelize和mySql选择外键列的名称?
- Mysql系列二:Mysql 开发标准规范
- MySQL全文搜索不适用于像’house’这样的单词
- 开发环境dbForge Studio for MySQL——如何调试存储函数
- MySQL的WHERE子句中的CASE或COALESCE性能
- mysql – SequelizeJS – hasMany to hasMany在同一个表上有