这是我正在努力做的总结:
$array[0] = 1; $array[1] = 2; $sql = "SELECT * FROM table WHERE some_id = $array"
显然有一些语法问题,但这是我想要做的,我还没有找到任何东西,显示如何做到这一点。
目前,我的计划是做一些这样的事情:
foreach($idList as $is) $where .= 'some_id=' . $id . ' OR'; endforeach $sql = "SELECT * FROM table WHERE " . $where;
SELECT * FROM table WHERE some_id = ANY(ARRAY[1,2])
或ANSI兼容:
SELECT * FROM table WHERE some_id IN (1,2)
ANY语法是首选,因为数组作为一个整体可以在一个绑定变量中传递:
SELECT * FROM table WHERE some_id = ANY(?::INT[])
您需要传递数组的字符串表示形式:{1,2}