Python DataError:(1406,“第1行的列';名称';数据太长”)
我读过几乎所有其他有同样错误的帖子,似乎找不到合适的解决办法 在我的models.py文件中,我有以下内容:Python DataError:(1406,“第1行的列';名称';数据太长”),python,mysql,django,pycharm,Python,Mysql,Django,Pycharm,我读过几乎所有其他有同样错误的帖子,似乎找不到合适的解决办法 在我的models.py文件中,我有以下内容: class LetsSayCups(models.Model): name = models.CharField(max_length=65535) def __str__(self): return str(self.name) 当我尝试将aws mysql数据加载到本地mysql服务器时,会出现此错误。我的models.py文件中的另一个部分出现了
class LetsSayCups(models.Model):
name = models.CharField(max_length=65535)
def __str__(self):
return str(self.name)
当我尝试将aws mysql数据加载到本地mysql服务器时,会出现此错误。我的models.py文件中的另一个部分出现了问题,我可以通过进入my.cnf.bak文件并将sql_模式从以下位置更改为:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
致:
成功了!!!直到后来我发现了另一个错误。具体错误如下所示:
...
File "/Users/im_the_user/Desktop/my_company/my_project/load_items.py", line 122, in load_the_items
existing_cups = Cups.objects.get_or_create(name=cups)
...
django.db.utils.DataError: (1406, "Data too long for column 'name' at row 1")
以上。。。意思是我在这篇文章中遗漏了之前/之后的事情
更新my.cnf.bak文件是不够的,也不能将CharField max_length设置为65535。我还可以尝试什么?您需要使用
文本字段。CharField
的max_length
应设置为255或更小,以避免存储为VARCHAR
的数据库出现问题
我发现my.cfn.bak只是一个备份文件。我不确定它在第一个问题上是如何工作的,但是当我将文件重命名为my.cfn时,我的问题就解决了 使用TextField而不是CharField
...
File "/Users/im_the_user/Desktop/my_company/my_project/load_items.py", line 122, in load_the_items
existing_cups = Cups.objects.get_or_create(name=cups)
...
django.db.utils.DataError: (1406, "Data too long for column 'name' at row 1")