4
을 갖는 문 준비 :SQLite - 제한 사항? 곤충? 내가 준비된 문을 사용하여 최적화하기 위해 노력하고있어 시간의 1000를 실행하는 쿼리가 절
$query = "SELECT day, ticker, SUM(score*mod) as shares FROM indicators, modifiers WHERE indicators.dex=modifiers.dex AND ticker='$t' GROUP BY day, ticker HAVING shares>=$s";
나는 일반적으로 쿼리를 실행하면 :
$transactions = $dbm->query($query);
I을 원하는 결과 세트를 얻는다. 내가 그렇게 (
$stmt->execute(array($t, 100));
HAVING 절에 명시된 조건을 필터링 할 수없는 것 같습니다 : 나는 준비된 문
$stmt = $db->prepare("SELECT day, ticker, SUM(score*mod) as shares FROM indicators, modifiers WHERE indicators.dex=modifiers.dex AND ticker=? GROUP BY day, ticker HAVING shares>=?");
실행으로 변환 그러나
, 주식이 100 미만인 경우 결과를 얻는다.)
이것은 SQLite의 버그/제한 사항입니까? 아니면 잘못된 것입니까?
준비된 문으로 변환 할 때 내 모든 다른 쿼리가 잘 작동
...
또한 준비된 명령문에 공유 수를 하드 코딩하려고 시도했지만 정상적으로 작동했습니다. 이것은 변수 일 때만 발생합니다. –
당신은 PDO_SQLITE를 사용하고 있습니까? – hobodave
예, sqlite3에 pdo sqlite 확장자를 사용하고 있습니다. –