繁体   English   中英

列的数据被截断

[英]Data truncated for column

你好我试着从我的桌子上的phpmyadmin插入数据,但我得到这样的错误

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

对我而言,就像这样

    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后,当我尝试插入其说错误数据截断谢谢。

对列进行截断的数据显然意味着您的数据太宽而无法放入指定的列中。 它是value字段,它是文本类型,文本字段只能容纳65K的数据。 你需要一个更大的类型。 也许MEDIUMTEXT可以容纳16MB的数据。

顺便说一句,因为您实际上是在列中存储二进制数据。 MEDIUMBLOB实际上可能是更好的选择。

最后但并非最不重要的 :

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

使用Web服务器,将图像和其他二进制资产存储为文件,路径名存储在数据库中而不是文件本身。 大多数Web服务器在缓存文件方面比数据库内容更好,因此使用文件通常更快。 (尽管在这种情况下您必须自己处理备份和存储问题。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM