2011-11-04 46 views
2

我已經通過程序導入了我對MySQL的訪問。我現在想要將某些列從null更改爲非空,但它不會讓我。出現錯誤1265說「數據被截斷列」,另一個錯誤是錯誤1046,「沒有選擇數據庫」。MySQL錯誤消息

我該怎麼辦?

+2

確保列你'r試圖更改爲非null不包含任何空值 – Bala

+2

數據被截斷意味着您將更多數據填充到字段中它可以處理,例如。將200個字符轉換爲varchar(100)字段。 –

+0

如果沒有選中數據庫,這意味着您必須先選擇一個,然後再對錶格等進行操作。句子USE DATABASE myNewDatabase,其中myNewDatabase是您創建的用於保存導入數據的數據庫的名稱。 – Alfabravo

回答

1

首先,選擇一個數據庫

mysql> use myDatabase; 

然後,更新所有行到一個不爲空值

mysql> UPDATE myTable SET myColumn = '' WHERE myColumn IS NULL; 

然後,改變你的表

mysql> ALTER TABLE myTable MODIFY COLUMN myColumn text NOT NULL; 
1

嘗試:

UPDATE 'Your table' 
SET 'your column' = '' 
WHERE 'your column' IS NULL 

,然後改變你的表設置表的列設置爲NOT NULL