Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: ‘s

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: ‘s,第1张

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: ‘s 项目场景:

提示:这个问题的mysql连接设置的问题类型不一致,然后我是用flink连接mysql报错。


问题描述:
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'sensor_1'
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3513)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1021)
	at com.Flink.MyJdbcSinkFunc.invoke(JdbcSinkTest.scala:48)
	at com.Flink.MyJdbcSinkFunc.invoke(JdbcSinkTest.scala:33)
	at org.apache.flink.streaming.api.functions.sink.SinkFunction.invoke(SinkFunction.java:52)
	at org.apache.flink.streaming.api.operators.StreamSink.processElement(StreamSink.java:56)
	at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:641)
	... 12 more

Process finished with exit code 1

原因分析:

提示 ,当比较的数据类型不一致且无法强制转换时,就会出现上述错误,因为我的id是String,而temp是Double,然而我在代码中将类型以及位置设置错误,所以出现了上述错误。所以把类型也改过来之后,就可以正常运行了。因此在数据库建模时要多加注意数据类型,或者在where语句中进行条件判断的时候也要注意数据类型。


解决方案: 把数据类型和对应的位置改过来,确保类型一致,这样就不会出错了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5619090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存