SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.09.2010 23:55:01

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Ошибка при запросе: #1071 - Specified key was too long

SQL-запрос:

Код:

CREATE TABLE `users` (
`id` varchar( 36 ) NOT NULL ,
`username` varchar( 255 ) NOT NULL ,
`slug` varchar( 255 ) NOT NULL ,
`passwd` varchar( 128 ) DEFAULT NULL ,
`password_token` varchar( 128 ) DEFAULT NULL ,
`email` varchar( 255 ) DEFAULT NULL ,
`email_authenticated` tinyint( 1 ) DEFAULT 0,
`email_token` varchar( 255 ) DEFAULT NULL ,
`email_token_expires` datetime DEFAULT NULL ,
`tos` tinyint( 1 ) DEFAULT 0,
`active` tinyint( 1 ) DEFAULT 0,
`last_login` datetime DEFAULT NULL ,
`last_activity` datetime DEFAULT NULL ,
`is_admin` tinyint( 1 ) DEFAULT 0,
`role` varchar( 255 ) DEFAULT NULL ,
`created` datetime DEFAULT NULL ,
`modified` datetime DEFAULT NULL ,
PRIMARY KEY ( `id` ) ,
KEY `BY_USERNAME` ( `username` , `passwd` ) ,
KEY `BY_EMAIL` ( `email` , `passwd` )
)

Ответ MySQL: Документация

Код:

#1071 - Specified key was too long; max key length is 1000 bytes

Как можно решить эту проблему?

PS. _http://github.com/CakeDC/users

Неактивен

 

#2 28.09.2010 00:11:40

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка при запросе: #1071 - Specified key was too long

Не хранить пароль в открытом виде smile

Я серьезно smile Хэш пароля даже SHA1 занимает 20 байт. Итого длина ключа
255 * 3 + 20 = 785 байт
( = length(username) * 3 [байта на символ в utf8] + length(sha_password)),
что меньше поставленного ограничения.

Ну или на худой конец урезать длины пользователя и пароля. Но всё-таки
хранить пароль открытым не стоит — не на заре компьютеров ведь живем.

Неактивен

 

#3 13.11.2012 23:01:25

olgastaf
Участник
Зарегистрирован: 13.11.2012
Сообщений: 1

Re: Ошибка при запросе: #1071 - Specified key was too long

Прошу прощения, что опять поднимаю столь давнюю тему, но у меня та же ошибка.
Скажите, а они лежат - пользователь и пароль, где их урезать надо?

Неактивен

 

#4 13.11.2012 23:22:09

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: Ошибка при запросе: #1071 - Specified key was too long

На каком запросе у вас возникает эта ошибка?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson