gpt4 book ai didi

java - JDBC 将警告视为数据截断错误

转载 作者:行者123 更新时间:2023-11-30 10:20:23 24 4
gpt4 key购买 nike

我有一个包含三个字段的 MySQL 表:

fname   varchar(20) 
ftype varchar(10)
value varchar(30)

如您所见,“值”是一个 varchar,但我用它来存储不同类型的值(由用户输入),所以我可以这样做:

UPDATE table SET value = 1 + value WHERE ftype='COUNTER';

它按预期工作,进行隐式转换,然后更新和存储,因此:

 fname  ftype   value   
f1 COUNTER 100
f2 COUNTER 100 dǵ#$vferv <-- this value contains an input error

成为:

 fname  ftype   value
f1 COUNTER 101
f2 COUNTER 101

我完全没问题。关键是,如果我直接执行查询,它会起作用(如果我运行 show warnings,MySQL 最终会返回一些警告),但如果我在 Java EE 应用程序(在 glassfish 下运行)中运行,那些警告被视为错误,所以我会得到一个异常(即:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: '100 dǵ#$vferv')。

JDBC 驱动程序中是否有任何选项告诉它在这种情况下不抛出异常?

最佳答案

您的问题的答案在这里:https://bugs.mysql.com/bug.php?id=24546

基本上,添加“jdbcCompliantTruncation=false”作为 URL 配置参数

关于java - JDBC 将警告视为数据截断错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48231571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com