Данные, усеченные в базе данных MySQL Мне нужно больше идей, что вызывает это?
Я всегда получал это предупреждающее сообщение каждый раз, когда вставляю строку данных для имени пользователя и пароля. Я использовал функцию MD5 для пароля и текущий пользователь для имени пользователя.
Я оставил функцию пустой для имени пользователя и пароля, и теперь она успешно вставлена без предупреждения, но, конечно, я не могу оставить пароль незашифрованным.
Я пытался найти в интернете подобные проблемы, но они сложны для понимания. Что мне нужно знать, это то, что вызывает эту проблему каждый раз, когда я устанавливаю функцию для строки, в которой появляется предупреждение?
Это предупреждение говорит.
1 строка вставлена. Предупреждение: #1265 Данные усекаются для столбца "имя пользователя" в строке 1 Предупреждение: #1265 Данные усекаются для столбца "пароль" в строке 1
2 ответа
Это просто означает, что длина вставляемого значения больше длины, определенной в столбце.
Изменить столбцы username
а также password
до длины 32, потому что MD5 возвращает строку из 32 шестнадцатеричных цифр.
Пожалуйста, проверьте поле пароля в вашей модели, не превышает ли max_lengh 128
password = models.CharField(max_length = 128, blank = True, null = True, verbose_name = 'password', help_text = "password")
Обычно пароль, зашифрованный с помощью, имеет большую последовательность символов. Поэтому для безопасной вставки сделайте пароль длиной не менее 50 символов. Мы внедрили это в производственное приложение, и это не вызывало у нас никаких проблем в течение как минимум двух лет. Мы видели, что зашифрованный пароль md5 составляет 28 символов и выше.
Надеюсь, это поможет вам