如何永久修复mysql错误:使用alter table语句截断数据的数据?

Suz*_*ani 2 mysql django

我有一个领域

logo=models.ImageField(upload_to="restaurant_detail/restaurant_detail", help_text = "upload your restaurant logo")
Run Code Online (Sandbox Code Playgroud)

这会返回一个错误,Data truncated for column 'logo' at row 1

所以我继续用这个声明解决它

alter table my_table modify logo varchar(500) 
Run Code Online (Sandbox Code Playgroud)

(我增加了字符.)

这有效,但每次我重置数据库时我都要再次执行此操作,当我尝试执行上面的alter语句并插入数据时,它仍然会失败并显示Data truncated for column 'logo' at row 1错误.

如何永久修复此问题而无需一直更改表格?

jos*_*tme 5

将您的字段定义更改为:

logo = models.ImageField(max_length=500, upload_to="restaurant_detail/restaurant_detail", help_text="upload your restaurant logo")
Run Code Online (Sandbox Code Playgroud)

我添加了max_length kwarg,它告诉Django字段可以存储多少个字符,并将导致数据库字段被适当地创建.