我遇到了这个问题:5.5 mySQL(使用myISAM表)之前用于将VARCHAR类型截断为列长度。现在,从上述版本开始,它不再存在。这是一个很大的问题,因为它打破了我的应用程序(我知道不应该有这样的问题,但我没有这样做......我只需要应付它,所以请耐心等待)。有没有办法在5.5中设置此行为?
我尝试设置SQL-MODE =“STRICT_TRANS_TABLES”,因为我在某处阅读它会有所帮助......它没有....
我甚至怀疑我可以通过在我正在使用的JDBC驱动程序中设置一些参数来解决这个问题,是的,抱歉这是一个java应用程序,我忘了......
请帮忙!
答案 0 :(得分:0)
您使用的是什么SQL_MODE?它是否与升级到5.5之前使用的相同?我怀疑它不是。
我正在使用SQL_MODE =''运行5.5.8,并且隐式截断仍然与旧版本(5.0,5.1等)中的相同。
所以我怀疑你的问题是你改变了SQL_MODE,而不是你升级到5.5。
检查当前的SQL_MODE:
SELECT @@SQL_MODE;
将SQL_MODE设置为'':
SET SQL_MODE = '';
答案 1 :(得分:0)
问题出在JDBC驱动程序的参数中。事实上,它被设置为在截断的情况下抛出异常。更改配置解决了它。