首页 / JAVA / java – MySQL不会插入双值
java – MySQL不会插入双值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – MySQL不会插入双值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1661字,纯文字阅读大概需要3分钟。
内容图文
我有一个MySQL数据库,我从Java类向表中插入行.一切都很好,但今天,我不能插入双值.而不是值,插入0.这是我在Java中的代码:
String str = "INSERT INTO PLAYERS (p_name, p_radius, p_lat, p_lon, p_offset) ";
str += "VALUES ('"+p.getName()+"', "+p.getRadius()+", ";
str += p.getLatitude()+", "+p.getLongitude()+", "+p.getOffset()+")";
PreparedStatement st = connection.prepareStatement(str, Statement.RETURN_GENERATED_KEYS);
st.executeUpdate();
我还打印了str String,当我在MySQL Query Browser上执行它时,它被正确插入. String str如下:
INSERT INTO PLAYERS (p_name, p_radius, p_lat, p_lon, p_offset)
VALUES ('John', 5, 37.976088, 23.7358438, -1011)
这是表create语句:
CREATE TABLE PLAYERS (player_id int(11) NOT NULL AUTO_INCREMENT,
p_name varchar(30) DEFAULT NULL,
p_lat double NOT NULL,
p_lon double NOT NULL,
p_score int(11) NOT NULL DEFAULT '0',
p_highscore int(11) NOT NULL DEFAULT '0',
p_game_id int(11) NOT NULL DEFAULT '0',
p_status int(11) NOT NULL DEFAULT '0',
p_radius int(11) NOT NULL,
p_offset bigint(20) NOT NULL,
PRIMARY KEY (player_id)
)
我在插入过程中检查了表格,并且我看到了正确插入的值.之后,当我刷新查询浏览器时,值再次为0 ……所以参数化语句没有区别.
终于我明白了.我非常抱歉,这是我的错!我有一个方法,当我的应用程序结束时,将这些值设置为0.谢谢您的反馈!
解决方法:
您应该使用参数化语句.请尝试使用此代码:
String str = "INSERT INTO PLAYERS (p_name, p_radius, p_lat, p_lon, p_offset) VALUES(?,?,?,?,?)";
PreparedStatement st = connection.prepareStatement(str, Statement.RETURN_GENERATED_KEYS);
st.setString(1, p.getName());
st.setDouble(2, p.getRadius());
st.setDouble(3, p.getLatitude());
st.setDouble(4, p.getLongitude());
st.setInt(5, p.getOffset());
st.executeUpdate();
内容总结
以上是互联网集市为您收集整理的java – MySQL不会插入双值全部内容,希望文章能够帮你解决java – MySQL不会插入双值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。