【发布时间】:2013-08-29 19:57:26
【问题描述】:
我有两个 MySQL 实例。当数据太长时,第一个在插入时截断字符串。第二个引发错误:
ERROR 1406 (22001): Data too long for column 'xxx' at row 1
我希望第二个也截断数据。 是否有任何 MySQL 设置来管理此行为?
【问题讨论】:
-
列的文件类型和长度是多少?对于两台服务器上的相同文件,您是否具有相同的值
-
@metalfight-user868766 不明白您关于文件类型的问题。引擎是 InnoDB,列类型 - varchar。列的长度没有变化。是的,数据库几乎完全相同。
-
我认为列的长度很重要,VARCHAR 类型的声明长度表示要存储的最大字符数。您的字符串是否大于 varchar 字段的长度
-
@metalfight-user868766 他知道字符串比声明的长度长。问题是他如何控制这是否会导致错误或导致值被截断为声明的长度。
-
尝试禁用
STRICT_TRANS_TABLES和STRICT_ALL_TABLES参考这里dev.mysql.com/doc/refman/5.0/en/…