2016-11-10 109 views
1

您好IM嘗試插入我的表從phpmyadmin的數據,但我得到的錯誤是這樣數據截斷列

1 row affected. Warning: #1265 Data truncated for column 'value' at row 1 

我talble是這樣

CREATE TABLE IF NOT EXISTS `setting` (
    `setting_id` int(11) NOT NULL, 
    `store_id` int(11) NOT NULL DEFAULT '0', 
    `group` varchar(32) COLLATE utf8_bin NOT NULL, 
    `key` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '', 
    `value` text COLLATE utf8_bin NOT NULL, 
    `serialized` tinyint(1) NOT NULL 
) ENGINE=MyISAM AUTO_INCREMENT=28279 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; 

我嘗試在5000左右的數據放我可以輸入2000左右後,當我嘗試插入它的說錯誤數據截斷謝謝。

+0

向我們展示您的INSERT查詢.. –

+0

我相信你的數據'value'列比它的極限(64 KB)放大 – Hermanto

回答

2

數據被截斷列顯然意味着您的數據太寬,無法放入指定的列。這對value場,這是類型text文本字段可容納唯一的數據的65K。你需要更大的類型。也許MEDIUMTEXT可以容納16MB的數據。

順便說一句,因爲你實際上是存儲您的列的二進制數據。 MEDIUMBLOB實際上可能是一個更好的選擇。

最後但並非最不重要的:

http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-optimization-tips.html

與Web服務器,存儲圖像和其他二進制資產的文件,與 路徑名存儲在數據庫中,而不是文件本身。大多數 Web服務器是在緩存文件比數據庫內容好,所以 使用文件一般要快。 (雖然你必須處理備份和 存儲問題自己在這種情況下)。