开发者

error Unknown column in 'where clause' matlab using an array of strings

I want to read a column from a table of data base and for every row that I have read, read some rows from another table. the elements that I read from both tables are Strings, my code is:

query1 = 'select col1 from MyDb.table1 order by col1'; 
[x1]= mysql(query1);
     for i=1:size(x1)
         my=char(x1(i,1));    
         query2=sprintf('%s%s%s%s',['select col1 from MyDb.table2 where col1=', my, ' or col2=', my]);
         [x2]=mysql(query2); 
     end

when I run the code I get this error:Unknown column 'khl开发者_开发百科kuu' in 'where clause', khlkuu is a row in first table. I know that this error is because of not surrounding khlkuu with quotation , but I do not know how to do so. any Ideas?


To get quotes in a string, you need to use double-quotes. Also, the call to sprintf seems unnecessary.

my = 'something';
query2= ['select col1 from MyDb.table2 where col1=''', my, ''' or col2=''', my,'''']

query2 =
select col1 from MyDb.table2 where col1='something' or col2='something'
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜