我有两个MySQL实例。第一个在插入数据时,如果数据太长,会截断字符串。第二个会引发错误:
ERROR 1406 (22001): Data too long for column 'xxx' at row 1
我希望第二个也能像第一个一样截断数据。 是否有任何MySQL设置可以管理此行为?
STRICT_TRANS_TABLES
和STRICT_ALL_TABLES
。这样可以自动截断插入的字符串。INSERT
和UPDATE
操作中抑制错误,这真的是您想要的吗? - Paolosql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode=""
运行
/etc/init.d/mysql restart
NO_AUTO_CREATE_USER
和NO_ENGINE_SUBSTITUTION
与问题中引起的严格模式错误无关。 - AaA
STRICT_TRANS_TABLES
和STRICT_ALL_TABLES
,参考此处http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_strict_all_tables。 - bansisql_mode
中设置了STRICT_ALL_TABLES
。移除这个设置可以解决问题。如果你把你的评论变成答案,我会接受它。 - Maksym Polshcha