mysql用java中的逗号连接字符串

时间:2014-04-10 07:04:24

标签: java mysql

我正在尝试将两个ID号连接在一起,但在它们之间添加逗号以相互分离。我知道要使用的mysql语句,但我很难将其转换为我的java程序中的字符串。我可以在没有逗号的情况下使用它,但我似乎无法找出添加逗号的语法。

这是我的尝试:

query = "UPDATE table SET idColumn = concat(idColumn, ','"+idNum+") WHERE word = '"+wordVariable+"' ";

为了澄清,我有一个单词表,其中包含一个单词列和一个ID号列。例如,我的ID列可能包含一个数字作为ID,但在多个连接后,它可能看起来像:

2,5,4,7,1

2 个答案:

答案 0 :(得分:4)

将您的查询更改为:

query = "UPDATE table SET idColumn = concat(idColumn, ',"+idNum+"') WHERE word = '"+wordVariable+"' ";

我认为你在使用引号中犯了错误。

或者您可以在','。

之后添加逗号
query = "UPDATE table SET idColumn = concat(idColumn, ',' , '"+idNum+"') WHERE word = '"+wordVariable+"' ";

答案 1 :(得分:1)

更改

query = "UPDATE table 
         SET idColumn = concat(idColumn, ','"+idNum+") 
         WHERE word = '"+wordVariable+"' ";

query = "UPDATE table SET idColumn = concat( idColumn, ',', ? ) WHERE word = ? ";

您在, ','之后遗漏了concat个逗号。

使用PreparedStatement的实例,您可以为查询占位符设置值。

pst.setInt( 1, idNum );
pst.setString( 2, wordVariable );

而且,我认为,idColumn上的数据表设计不正确。您最好使用规范化形式的表和数据,而不是存储逗号分隔值。