2014-03-30 43 views
0

錯誤1265:運行故障恢復腳本時的錯誤:數據截斷列 'profile_pic' 在行1數據截斷列 'profile_pic' 在行1 IM MySQL的

SQL語句:

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

錯誤。詳情如下。

ERROR 1050: Table 'student_info' already exists

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列但不空的值,如果我不是沒有這樣做,這個錯誤不會發生這個錯誤閃爍任何機構可以請給我解釋一下爲什麼發生這種錯誤,以及如何消除這種

回答

0

更改您的變更查詢到

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

在您的架構已經定義的profile_picvarchar(500)你現在正在試圖將其設置不爲空,但與varchar(50)讓你列包含長度超過50個字符,因此你看到這截斷錯誤

+0

還是同樣的問題是數據來和我的專欄是空的:( – vibhuti