在mysql的第1行截断数据'profile_pic'的数据

时间:2014-03-30 19:17:29

标签: mysql

错误1265:数据截断列' profile_pic'在第1行

SQL语句:

ALTER TABLE `student`.`student_info` 
CHANGE COLUMN `profile_pic` `profile_pic` VARCHAR(50) NOT NULL DEFAULT 'images/profile.png'

错误:运行故障回复脚本时出错。详情如下。

  

错误1050:表' student_info'已存在

SQL语句:

CREATE TABLE `student_info` (
  `name` varchar(45) NOT NULL,
  `email` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  `profile_pic` varchar(500) DEFAULT 'images/profile.png',
  PRIMARY KEY (`email`),
  UNIQUE KEY `email_UNIQUE` (`email`),
  UNIQUE KEY `password_UNIQUE` (`password`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

当我将profile_pic列的值设置为非null时,此错误正在闪烁但是如果我不这样做,则不会发生此错误,任何正文都可以解释为什么会发生此错误以及如何删除此

1 个答案:

答案 0 :(得分:0)

将您的修改查询更改为

ALTER TABLE `student`.`student_info` 
CHANGE COLUMN `profile_pic` `profile_pic` VARCHAR(500) NOT NULL DEFAULT 'images/profile.png'

在您之前已使用profile_pic定义varchar(500)的架构中,您现在尝试将其设置为非空但使用varchar(50),因此您的列包含的数据长度超过50个字符你看到这个截断的错误