我有一组ID,我必须从表中选择的阵列的每个值,我可以通过一个在for loop
由一个得到它,通过阵列选择查询值
SELECT point, privacy FROM `tableName` WHERE id='1403176452487620892'and status=1
但问题是,数组大小是100,我需要一个查询而不是100。
我有一组ID,我必须从表中选择的阵列的每个值,我可以通过一个在for loop
由一个得到它,通过阵列选择查询值
SELECT point, privacy FROM `tableName` WHERE id='1403176452487620892'and status=1
但问题是,数组大小是100,我需要一个查询而不是100。
你为什么不能使用:
SELECT point, privacy FROM `tableName` WHERE status=1 and id in(?,?,?...)
是的,这是可笑的长,但如果查询你所需要的...
'使用for循环,以及'您在该帖子中的评论,对不起,我没有得到它 –
@GovindSinghNagarkoti:但现在你呢? –
@GovindSinghNagarkoti:对不起,你是什么意思,“意思是它不是一个正确的方法来使用'我的情况'? –
你可以使用这样的:
$ids = join(',',$ids);
$sql = "SELECT * FROM tableName WHERE id IN ($ids)";
数据库中的ID是否为数组? MySQL无法执行'for'循环,可以吗? –
'$ ids = join(',',$ ids);'不熟悉这个语法是否将它转换为逗号delimated字符串 –
是的,它将它转换为逗号解构的字符串。 –
你可以尝试这样的
$array = array(1,2,3);
$str = implode(",", $array);
$sql = "SELECT point, privacy FROM `tableName` WHERE id in ($str) and status=1";
什么语言从该来的? Java的? –
@AlvinThompson我正在使用Scala –
是的,循环并通过JDBC驱动程序绑定值。 –