2011-03-10 47 views
0

我有這個問題:5.5 mySQL(使用myISAM表)之前用於將VARCHAR類型截斷爲列長度。現在,從上述版本開始,它不再存在。這是一個巨大的問題,因爲它打破了我的應用程序(我知道不應該有這樣的問題,但我沒有這樣做......我只需要應付它,所以請耐心等待)。有沒有辦法在5.5中設置這種行爲?MySQl 5.5在截取VARCHAR的時間比預期長時不會截斷

我試圖設置SQL-MODE =「STRICT_TRANS_TABLES」我讀的地方,這將有助於...它沒有....

我甚至懷疑我可以通過設置一些參數解決這個我正在使用的JDBC驅動程序,是的,對不起,這是一個Java應用程序,我忘了...

請幫助!

回答

0

這個問題在JDBC驅動程序的參數。事實上,它被設置爲在截斷的情況下拋出異常。改變配置解決了它。

0

你在使用什麼SQL_MODE?它是否與升級到5.5之前使用的是相同的?我懷疑它不是。

我運行5.5.8與SQL_MODE =「」和隱含截斷仍然有效,因爲它在舊版本(5.0,5.1,等)做了同樣的

所以我懷疑你的問題是你改變了SQL_MODE,而不是你升級到5.5。

檢查當前SQL_MODE:

SELECT @@SQL_MODE; 

SQL_MODE設置爲 '':

SET SQL_MODE = '';