JSP WebApp - 从Ubuntu切换到Win7后能够读取但不更新mysql表

时间:2013-04-06 14:53:57

标签: java mysql jsp jdbc

我创建了一个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;

1 个答案:

答案 0 :(得分:0)

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