-1

我创建了一个将新用户的凭据存储在数据库中的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;
4

1 回答 1

0

要修复此错误,您需要增加数据库中密码字段的长度。使用 HeidiSQL ( http://www.heidisql.com/ ) 之类的 mysql 客户端连接到 Windows 中的数据库,并将字段的长度更改为更大的 varchar 或 blob。

于 2013-04-06T15:32:00.067 回答