我创建了一个inscription
表单(太大而无法在此处发布),它将新用户的凭据存储在mysql
数据库中。当我使用我的Ubuntu计算机开发和测试它时,它工作正常。问题是,我将war
文件导出到我的Win7计算机中,即使它允许我从我的数据库表读取,它也不会让我更新它。为了进行测试,我尝试用mySql命令行创建一个新用户,它工作正常。
我也替换了我的Mysql J connector
。
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4118)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
at com.sdzee.dao.UtilisateurDaoImpl.creer(UtilisateurDaoImpl.java:86)
CREATE TABLE bdd_sdzee.Utilisateur (
id INT( 11 ) NOT NULL AUTO_INCREMENT ,
email VARCHAR( 60 ) NOT NULL ,
passeword VARCHAR( 32 ) NOT NULL ,
nom VARCHAR( 20 ) NOT NULL ,
date_inscription DATETIME NOT NULL ,
PRIMARY KEY ( id ),
UNIQUE ( email )
) ENGINE = INNODB;
答案 0 :(得分:0)
要修复此错误,您需要增加数据库中密码字段的长度。使用一个像HeidiSQL(http://www.heidisql.com/)这样的mysql客户端连接到Windows中的数据库,并将字段的长度更改为更大的varchar或blob。