【发布时间】:2012-10-29 13:34:37
【问题描述】:
String Query="insert into sms (Jobno, Mobilenumber, MStatus, ReceivedTime, AmountDeducted, Message, DoneTime) values ("+jobnum +","+mobilenum+","+ smsstatus+",'"+ rxtimestamp+ "',"+ amt+",'"+smstxt+"','"+timedone1+"')";
注意:通过Mysql,上述查询执行成功......
我在程序中导入了所有需要的库和它们各自的接口...... 当我通过 java panel/ide 执行时,它会抛出以下错误?
Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'Mobilenumber' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2983)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1402)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1317)
请提出可能是什么问题............
【问题讨论】:
-
它看起来像数据类型或数据类型长度问题。你通过代码传递什么?该错误表示您传递的值超出了数据库中
mobile number的允许长度 -
不要仅仅连接字符串来构建查询,而是使用
PreparedStatement。 -
Goel:你是对的......我用int而不是bigint作为手机号码......我如何改变数据类型现在问题解决了......谢谢
-
@KarthikKolla,不客气。建议请使用
@在 SO 上标记人员,以便通知他们您在某些 cmets 中引用他们。在这里很好,但这可能会导致您无限期地等待,以防您要求更多澄清,因为不会通知此人,而且很少有人来查看那里的帖子。如果您打算积极参与 SO,您可能需要阅读 stackoverflow.com/faq