我的表中有一个包含unsigned integer
值的外键列。我想为此列添加一个新值,但我不知道java如何处理这个unsigned
值,因为java没有原生的无符号值。以无符号整数使用Java Prepared Statement的正确方法
如果我做的:
preparedStatement.setInt(2, myInt);
将在数据库转换这个signed int
它自动的unsigned
价值?或者它会抛出一个错误,说这些是不兼容的类型?我应该站出来,用long
,如:
preparedStatement.setLong(2, myLong);
还是将抛出一个异常为好,因为数据库没有使用BIGINT
?
我正在使用MySQL,我只是想避免将来随着表记录的增长而出现意外。
您是否尝试实施两种方法并查看会发生什么? :) – dazito
我曾考虑过这个问题,但我先试着谷歌搜索,但没有发现任何内容,所以我认为如果这个答案被正确记录,将会为未来人节省时间,这将会更加有用。 – mFeinstein
@mFeinstein我同意这一点!不建立一个问题并回答它是不被禁止的。因此,您可以尝试并创建与测试相匹配的问题;-)(如果失败,则创建一个问题,询问原因和答案,因为它不支持示例和源代码,如果没有其他帖子可以找到的话。 ..) – AxelH