[英]MySQL Data too long for column 'XX' at row 'XX' - LongBlob Column
[英]Data too long for column at row 1 mysql 5.6
我正在為我的應用程序在生產中使用MySql 5.6。 現在發生的事情是,應用程序中的表單上存在一個字段,該字段的數據類型為char(2)表,輸入類型的最大長度為25。現在,當用戶鍵入的字符數超過2個並點擊保存時,它將提示您
因此,我在這里搜索並發現,如果需要確保沒有錯誤,請切換MySQL模式以不使用STRICT,因此我在my.cnf文件中設置了sql_mode
並嘗試了。 但是我仍然遇到同樣的錯誤。 這是my.cnf的樣子:
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我正在使用MySql 5.6,但沒有得到我所缺少的內容。 我希望該錯誤消失。
編輯:
我做了SET GLOBAL sql_mode = ''
,然后show variables;
輸出如下: 但是仍然出現相同的錯誤。
我找到了解決此問題的方法,如下所示:
您可以通過在JBoss數據源中添加屬性jdbcCompliantTruncation = false來解決錯誤,例如:
jdbc:mysql://localhost:3306/dbName?zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false
注意 :如上圖所示,如果您要設置多個屬性,則可以使用&
您可以使用sql設置系統變量sql_mode:
SET GLOBAL sql_mode = '';
如果它是INSERT語句,即使使用非STRICT sql模式,該錯誤也將持續存在。
在這種情況下,您需要修改ur列數據類型定義以允許更長的數據輸入,或者修改查詢。
您可以像這樣修改ur查詢以自行截斷數據,因為MySQL不會自動處理它。
INSERT ... VALUES( ..., LEFT('...',2));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.