【发布时间】:2012-10-01 11:54:37
【问题描述】:
我在我的mysql数据库中定义了一个列:
ALTER TABLE `my_table` CHANGE `desc` `desc` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
但是当我从前端输入要插入到表格中的文本时,在列数据的大小达到 233 后,它截断进一步添加的文本,即不保存超过 233 个字符的文本!!
我尝试将列的大小更改为 VARCHAR(511),但没有成功。
我使用 php strlen() 计算了字符数,结果显示为 233 个字符
为什么 MySQL 会这样做,我如何保存文本?
【问题讨论】:
-
运行
DESCRIBE my_table。它对 desc 列有什么看法? -
会不会是字符集问题?尝试在字符串中添加一些 (latin1) 字符,看看是否仍然缺少 2 个字符。
-
@GlaciesofPacis DESCRIBE
my_table揭示desc是 varchar(255) 而不是 NULL 等.. -
@Clarence 我的字符串中有“逗号”
-
所以.. 澄清一下,您保存的字符串实际上长度为 255 个或更多字符,并且您没有计算逗号?