2013-03-14 4 views
1

Я всегда получал это предупреждение каждый раз, когда я вставляю строку данных для имени пользователя и пароля. Функция, которую я использовал, - MD5 для пароля и текущего пользователя для имени пользователя.Данные, усеченные в базе данных MySQL Мне нужно больше идеи, что вызывает это?

То, что я сделал, оставляет функцию пустой для имени пользователя и пароля, и теперь она вставлена ​​успешно без предупреждения, но, конечно, я не могу оставить пароль ненаучным.

Я попытался найти в Интернете такие проблемы, но их сложно понять. Что мне нужно знать, что вызывает эту проблему каждый раз, когда я устанавливаю функцию для строки, предупреждение появляется?

Это предупреждение.

1 ряд вставлен. Предупреждение: # 1265 Данные усечены для столбца «Имя пользователя» в строке 1 Внимание: # 1265 Данные усечены для столбца «пароль» в строке 1

ответ

3

Это просто означает, что длина значения вы вставляете это больше длина, определенная на столбце.

Измените столбцы username и password на длину 32, поскольку MD5 возвращает строку из 32 шестнадцатеричных цифр.

+0

Я не думаю, чтобы я установить длину для значения для столбца 20 и я вставил только 5 или 10 символов в строке. – JustNoobWillingToLearn

+0

вы можете выполнить это: 'SHOW VARIABLES LIKE 'sql_mode'' и опубликовать результат здесь? –

+0

Странно, но вы правы. Я установил его на 35 и теперь вставил без предупреждения. В любом случае, спасибо. – JustNoobWillingToLearn

0

Обычно пароль, зашифрованный, поставляется с большей последовательностью символов. Поэтому для безопасной вставки введите длину пароля не менее 50 символов. Мы реализовали это в производственном приложении, и это не вызвало у нас никаких проблем, по крайней мере, за 2 года. Мы видели, что зашифрованный пароль md5 достигает 28 символов и выше.

Надеется, что это поможет вам