一个表的一个字段url(text)的数据太长导致update这个字段发生错误如下SQL Exception: Data truncation: Data too long for column 'url' at row 1
java.sql.BatchUpdateException: Data truncation: Data too long for column 'url' at row 1翻看mysql官方文档,他定义的长度为65536.
现在急切要解决这个问题?(如何能增加text的长度??)
java.sql.BatchUpdateException: Data truncation: Data too long for column 'url' at row 1翻看mysql官方文档,他定义的长度为65536.
现在急切要解决这个问题?(如何能增加text的长度??)
LONGTEXT 4294967296可以考虑一下这两种TEXT类型。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
11.4. String类型
11.4.1. CHAR和VARCHAR类型
11.4.2. BINARY和VARBINARY类型
11.4.3. BLOB和TEXT类型
alter table tb_name modify field_name longtext default '';直接修改字段没问题,数据还会保存的。
BLOB, TEXT L+2 字节, where L < 2^16
MEDIUMBLOB, MEDIUMTEXT L+3 字节, where L < 2^24
LONGBLOB, LONGTEXT L+4 字节, where L < 2^32
1 字段乱码产生
2 text需要制定 (例如例如将所有的编码都设置成utf8,jsp的contentType= "text/html;charset=utf-8 "
修改数据库默认编码ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表字段的编码ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL)3换字段类型。
前提是sqlmode设置为"";
2.设置字符集编码 也许你url中包含了大量的无用数字和字符等等
1。创建数据库的时候:CREATE DATABASE `database`
CHARACTER SET 'utf8 '
COLLATE 'utf8_general_ci ';
2.建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default ' ',
`UserID` varchar(40) NOT NULL default ' ',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;