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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java往MySQL输入数据时where后有两个值怎么弄相关的知识,希望对你有一定的参考价值。

sql="SELECT * "+ " FROM workingandclosingtime "+" WHERE gh="+a+",date="+b+"";
但是出错了
You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'date=2012.12.24' at line 1
怎么解决呢???
这个我也试了不行,错误又变成这个了,怎么办
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.24' at line 1

兄台,因为你数据库的各个字段类型不一样,你如果直接拼串的话,数据库是varchar或varchar2,支持你拼,并且格式如下,注意单引号啊!!!!!
sql="SELECT * "+ " FROM workingandclosingtime "+" WHERE gh='"+a+"' and date=to_date("+b+",'yyyy-mm-dd')";
记住了,sql语句一定要通过转换,保证和数据库的类型一致,这样做很麻烦的,如下就非常简单了:
sql="SELECT * "+ " FROM workingandclosingtime "+" WHERE gh=? and date=?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
pstmt.execute();

这样,查询结果就出来了。
但愿答对了!!!!
参考技术A sql="SELECT * "+ " FROM workingandclosingtime "+" WHERE gh="+a+",and date="+b+"";
你要加个and啊,表示两个条件是并列的,如果要求两个条件中只要一个符合就可以的话,就用or
参考技术B sql="SELECT * FROM workingandclosingtime WHERE gh="+a+" and date='"+b+"'";

MySQL SELECT * WHERE column ='value'from 2 tables

我希望从2个表]中选择所有值,在其中highlight ='1'

*我有一个表,其中“绘画”的所有数据为我还有另一个类似的表,其中“ instaview”的所有数据为两个表的“突出显示”列均具有布尔值(0或1)。

我想从两个表中获取所有数据,其中highlight ='1'

 SELECT * FROM painting, instaview WHERE highlight='1'

SELECT * FROM painting JOIN instaview ON highlight='1'

...都给我以下错误:“ on子句中的'highlight'列不明确”

我进行了大量搜索,发现了很多有关此错误的信息,但只有复杂的JOIN原因与我的情况不同。我知道这两个表中都有该列,但是我希望将这两个表查询的结果合并。

编辑:根据要求,两个表的结构:

Column    Type  Comment
id        int(6) Auto Increment 
category  varchar(3)    
filename  varchar(30)   
title     varchar(200)  
material  varchar(200)  
year      varchar(4)    
highlight tinyint(1)
active    tinyint(1)

我想从2个表中选择所有值,其中Highlight ='1'*我有一个表,其中所有用于“绘画”的数据为。另外一个类似的表,其中所有“ instaview”的数据均为两个表。 。

答案

您需要说出从哪个表中查询突出显示。

另一答案

如果要在两个表中都使用highlight='1',并且不想指定表,则可以使用

以上是关于Java往MySQL输入数据时where后有两个值怎么弄的主要内容,如果未能解决你的问题,请参考以下文章

在MySQL数据库中使用多个WHERE子句值更新多个列值时出现错误。

MySQL SELECT * WHERE column ='value'from 2 tables

mysql数据库 null怎么表示

MySQL数据库之WHERE条件语句

Mysql DB select from table where field语句java

MySQL的WHERE语句中BETWEEN与IN的使用教程