php
  • mysql
  • soundex
  • 2010-02-11 5 views 0 likes 
    0

    무엇이 잘못되었는지 알아 내려고 바보 같은 구문이어야합니다.쿼리에서 SOUNDEX를 사용하려고했지만 mysql에서 데이터베이스 열의 관점에서 오류가 발생했습니다.

    $objDatabase = QApplication::$Database[1]; 
    $strQuery = 'UPDATE `account` SET `sndx`=SOUNDEX("'.$objAccount->Name.'") WHERE `Id`='.$aid; 
    $objDbResult = $objDatabase->Query($strQuery); 
    

    내가 오류는 다음과 같습니다

    MySqli 오류 : QMySqliDatabaseException

    더 sndx 열이 없습니다 : '필드 목록' 예외 유형에서 알 수없는 열 'sndx'. 의도는 SOUNDEX를 사용하여 계정의 값을 일치시키는 것입니다 ....

    답변

    0

    글쎄, 자신의 질문에 대답했습니다. sndx 열이 없으면 값을 설정할 수 없기 때문에 쿼리가 실패합니다.

    테이블을 업데이트하여 sndx 열을 갖습니다.

    +0

    값을 보유 할 열을 만들지 않고 값을 비교할 수있는 방법이 있습니까? – Angela

    +0

    당신은 할 수는 있지만 느려질 것입니다 - 열에 soundex를 저장하면 색인을 생성 할 수 있습니다. 그렇지 않으면 select는 전체 테이블 스캔을 필요로하며 열과 입력에 soundex를 수행합니다. 즉 soundex (columnName) = soundex (" '. $ objAccount-> Name.'") – Simon

     관련 문제

    • 관련 문제 없음^_^