Java往MySQL输入数据时where后有两个值怎么弄?

售前免费咨询热线: 4 0 0 - 1 8 6 - 0 9 0 5
汇智资讯Huizhi information

当前位置:首页 »Java往MySQL输入数据时where后有两个值怎么弄?

Java往MySQL输入数据时where后有两个值怎么弄?

日期:2020-03-15 16:31:03 访问量: 来源:
Java往MySQL输入数据时where后有两个值怎么弄?根据错误提示简单的说一下查找问题的方法。

为什么会报错?

每个错误附近都会告诉你, 你的错误在那里, 错误提示说, 在date附近有一个错误。 是当前版本不支持的, 为什么呢? 这里有一个知识点就是, 在where条件里面需要是相同的数据类型再做比较的时候, 才不会出现和你想要的答案不一致。

Java往MySQL输入数据

拼写的问题

字符串拼接SQL特别容易出现因为字符没有书写完成出现提示的错误信息, 首先看一个SQL.

select * from workingandclosingtime; 这里在实际开发的过程中是不会使用*来进行所有字段检索数据, 如果该表中存在a, b, c, d。4个字段, 就需要这样书写:

select a, b, c, d from workingandclosingtime; 这样就不会出现因为在后续需求变更, 加入了新的结构, 出现代码异常的问题。

加入where条件之后, select gh, b, c, d from workingandclosingtime where gh =这里跟了一个值, 如果是数字可以直接写成 gh = 1. 这里 1因为是动态的我们的变量 a, 所以上面的SQL变成了。

String sql = "select gh, b, c, d from workingandclosingtime where gh = " + a ;

如果gh是字符串就需要使用拼接 "'" + a +"'" 就变成了。

String sql = "select gh, b, c, d from workingandclosingtime where gh = '" + a +"'" ;

这样的拼接就不会出现问题, 这里容易出现的问题就是缺少空格。比方说, gh后面跟上date,

变成 where gh = 'a'and date = '2019-06-05' 也会出现错误。

这里需要注意一下: date是关键字, 最好不要使用他定义表的列名。 会出现奇怪的问题。

Date的格式问题

根据你存取的时间格式: 如果是: YY-mm-dd那你就可以使用我上面的比对方法, 进行比对。 就不会出现问题了。

引申点

这里你可以把对应的sql输出的控制台中查看你的sql是否正确。举例说:

String sql = "select a, b, c workingandclosingtime ";

System.out.println(sql);

这样把控制台的SQL执行你的数据库查询里面, 就可以验证sql是否正确, 如果不正确改正确即可。

汇聚行业精英智慧

致力于高端IT技术人才培养

助力万千学员成就IT梦!

汇智动力

扫码关注 领取资料

www.hzdledu.cn

相关阅读Reading

全国热线:400-186-0905

总部热线:028-6547-1147

周一至周日9:30-24:00

我要咨询
汇智动力微信

汇智动力微信公众号

')