标签: mysql-error-1071

#1071 - 指定密钥太长; 最大密钥长度为767字节

当我执行以下命令时:

ALTER TABLE `mytable` ADD UNIQUE (
`column1` ,
`column2`
);
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

#1071 - Specified key was too long; max key length is 767 bytes
Run Code Online (Sandbox Code Playgroud)

有关column1和column2的信息:

column1 varchar(20) utf8_general_ci
column2  varchar(500) utf8_general_ci
Run Code Online (Sandbox Code Playgroud)

我认为varchar(20)只需要21个字节,而varchar(500)只需要501个字节.所以总字节数是522,小于767.那么为什么我会得到错误信息呢?

#1071 - Specified key was too long; max key length is 767 bytes
Run Code Online (Sandbox Code Playgroud)

mysql varchar byte mysql-error-1071

521
推荐指数
23
解决办法
57万
查看次数

Mysql ::错误:指定的密钥太长; 最大密钥长度为1000字节

script/generate acts_as_taggable_on_migration
rake db:migrate
Run Code Online (Sandbox Code Playgroud)

原因

Mysql::Error: Specified key was too long; max key length is 1000 bytes: CREATE  INDEX `index_taggings_on_taggable_id_and_taggable_type_and_context` ON `taggings` (`taggable_id`, `taggable_type`, `context`)
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

这是我的数据库编码:

mysql> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| character_set_client     | latin1 | 
| character_set_connection | latin1 | 
| character_set_database   | utf8   | 
| character_set_filesystem | binary | 
| character_set_results    | latin1 | 
| character_set_server     | latin1 | 
| character_set_system     | utf8   | 
+--------------------------+--------+
7 rows in set (0.00 …
Run Code Online (Sandbox Code Playgroud)

mysql sql indexing ruby-on-rails mysql-error-1071

25
推荐指数
1
解决办法
6万
查看次数

在服务器上django的syncdb期间出错

我有一个完整的操作区域设置django应用程序,但我在迁移到site5服务器时遇到麻烦.

当我启动django的syncdb命令时,我的所有模型表都被创建了,但是(我猜它在创建关系表时),我得到以下错误:

_mysql_exceptions.OperationalError: (1071, 'Specified key was too long; max key length is 1000 bytes')
Run Code Online (Sandbox Code Playgroud)

当我要求django同步locale db时,我没有任何问题,此错误仅发生在服务器中...

任何的想法?

mysql django mysql-error-1071

6
推荐指数
1
解决办法
2436
查看次数

这句话有什么问题?

mysql> create table newsgroup(
    ->  id integer unsigned NOT NULL AUTO_INCREMENT,
    ->  creater integer unsigned NOT NULL,
    ->  coremember integer unsigned DEFAULT NULL,
    ->  name varchar(300) not null unique,
    ->  description text,
    ->  created datetime not null,
    ->  PRIMARY KEY (id)
    -> );
ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
mysql>
Run Code Online (Sandbox Code Playgroud)

我换300250,没关系.但我真的不明白.

mysql mysql-error-1071

4
推荐指数
1
解决办法
196
查看次数

在MySQL中强制使用唯一的行

我有一个表MySQL有3个字段,我想强制两个字段之间的唯一性.这是表格DDL:

CREATE TABLE `CLIENT_NAMES` (
`ID` int(11) NOT NULL auto_increment,
`CLIENT_NAME` varchar(500) NOT NULL,
`OWNER_ID` int(11) NOT NULL,
PRIMARY KEY  (`ID`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

ID字段是代理键(此表正在加载ETL).该CLIENT_NAME字段包含客户端名称.id OWNER_ID是指示客户所有者.

我以为我可以用一个唯一索引执行本CLIENT_NAMEOWNER_ID,

ALTER TABLE `DW`.`CLIENT_NAMES` 
ADD UNIQUE INDEX enforce_unique_idx(`CLIENT_NAME`, `OWNER_ID`);
Run Code Online (Sandbox Code Playgroud)

但是MySQL给了我一个错误:

执行SQL命令以更新表时出错.指定密钥太长; 最大密钥长度为765字节(错误1071)

其他人有什么想法吗?

mysql indexing mysql-error-1071

2
推荐指数
1
解决办法
1500
查看次数

错误:#1071 - 指定密钥太长; 最大密钥长度为1000字节 - mysql 5.0.91

我使用的是mysql 5.0.91,我需要保存URL(有些很小,有些很长).我想使用,varchar(2000)但我收到一个错误:

#1071 - 指定密钥太长; 最大密钥长度为1000字节

使用mysql 5.0.91在我的主机上保存URL的最佳方法是什么?

mysql mysql-error-1071

1
推荐指数
1
解决办法
7026
查看次数

在简单转储导入设置中,mysql ERROR 1071(指定密钥太长;最大密钥长度为1000字节)

在服务器1上转储mysql数据库

$ mysql --version
mysql  Ver 14.14 Distrib 5.1.54, for debian-linux-gnu (x86_64) using readline 6.2
$ mysqldump -u root -p db > db.sql
Run Code Online (Sandbox Code Playgroud)

在服务器2上导入

$ mysql --version
mysql  Ver 14.12 Distrib 5.0.95, for unknown-linux-gnu (x86_64) using readline 5.1
$ mysql -u root -p db < db.sql
ERROR 1071 (42000) at line 807: Specified key was too long; max key length is 1000 bytes
Run Code Online (Sandbox Code Playgroud)

我知道这个错误有很多问题和答案,但它仍然让我感到困惑.

可以是版本问题吗?我怀疑没有.

如果我使用--force选项运行它,它会变得更加危险:

ERROR 1071 (42000) at line 807: Specified key was too long; max key length …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1071

1
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×7

mysql-error-1071 ×7

indexing ×2

byte ×1

django ×1

ruby-on-rails ×1

sql ×1

varchar ×1